Aquí podría ser tu PUBLICIDAD


Hacer que svcutil recoja la documentación de los archivos C #?

votos
2

Gente,

Estoy creando un nuevo servicio WCF y comencé con mi interfaz de servicio. Se ve algo así como:

   public interface ISomethingService
    {
        /// <summary>
        /// some description
        /// </summary>
        /// <version>2.13.0</version>
        /// <copyright>2009 by myself</copyright>
        /// <author>Marc Scheuner</author>
        /// <param name=request>The request object</param>
        [OperationContract]
        SomethingResponse GetList(SomethingRequest request);
    }

Ahora, también creé algunos contratos de datos en otro archivo que describe los mensajes SomethingRequest y SomethingResponse.

Recopilé mi proyecto e inicié svcutil.exe para extraer los metadatos (WSDL y XSD) de la DLL, pero parece que no puedo averiguar si hay una manera de obtener todos mis comentarios y explicaciones en WSDL / XSD en / nodos.

¿Estoy cegado por otro parámetro oscuro de svcutil.exe, o realmente no hay forma de generar esta documentación en los metadatos automáticamente?

EDITAR: ok, según la respuesta de Marc Gravell, los comentarios y las cadenas de documentación no están en la DLL compilada, ni están disponibles en el protocolo de intercambio de metadatos de MEX (¡lástima!).

ENTONCES: ¿Cómo documenta sus servicios de WCF, si necesita dar a un tercero la información que necesitan para acceder a su servicio? ¿Existe una herramienta NService o Sandcastle for WCF alrededor que pueda escanear mi biblioteca de servicios WCF y construir WSDL y XSD desde el código fuente, incluidas las anotaciones?

Parece que no puede encontrar muchas herramientas y formas de hacerlo, para mi gran sorpresa, sinceramente ...

Bagazo

Publicado el 12/03/2009 a las 16:25
fuente por usuario marc_s
En otros idiomas...        العربية       

2 respuestas

votos
3

svcutil.exe consume la API "mex" y solo tiene acceso a un subconjunto de los metadatos. Los comentarios no están incluidos (ni, IIRC, es [DescriptionAttribute]en gran medida).

Es posible que deba confiar en la documentación externa (es decir, una página de ayuda / árbol muerto). Otra opción (aunque rompe una serie de reglas SOA puras) es enviar las entidades / interfaces en un dll + xml; svcutil (y el IDE) pueden reutilizar tipos de concordancia de ensamblados existentes.

Respondida el 12/03/2009 a las 04:35
fuente por usuario Marc Gravell


Aquí podría ser tu PUBLICIDAD


votos
0

Tal vez esto ayude: http://msdn.microsoft.com/en-us/library/aa717040.aspx

Funciona con svcutil también.

Respondida el 27/11/2009 a las 05:11
fuente por usuario Vitaliy Liptchinsky