3

伙计们,

我正在创建一个新的 WCF 服务并从我的服务接口开始。看起来像:

   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);
    }

现在,我还在另一个文件中创建了一些数据协定,描述了 SomethingRequest 和 SomethingResponse 消息。

我编译了我的项目并启动了 svcutil.exe 以从 DLL 中提取元数据(WSDL 和 XSD) - 但我似乎无法弄清楚是否有办法将我的所有评论和解释放入 WSDL/XSD 到 /节点。

我是否对另一个不起眼的 svcutil.exe 参数视​​而不见,还是真的没有办法在元数据中自动生成此文档?

编辑:好的,根据 Marc Gravell 的回答,注释和文档字符串既不在编译的 DLL 中,也不在 MEX 元数据交换协议上可用(可惜!)。

SO THEN:如果您需要向第三方提供访问您的服务所需的信息,您如何记录您的 WCF 服务?是否有“NService”或“WCF 沙堡”工具可以扫描我的 WCF 服务库并从源代码构建 WSDL 和 XSD,包括注释?

似乎找不到很多工具和方法来做到这一点 - 老实说,令我惊讶的是......

马克

4

2 回答 2

3

svcutil.exe 使用“mex”API,并且只能访问元数据的子集。[DescriptionAttribute]不包括评论(在很大程度上也不包括 IIRC )。

您可能不得不依赖外部文档(即帮助页面/死树)。另一种选择(尽管它违反了许多纯 SOA 规则)是在 dll + xml 中传送实体/接口;svcutil(和 IDE)可以重用现有程序集中的匹配类型。

于 2009-03-12T15:35:10.317 回答
0

也许这有帮助:http: //msdn.microsoft.com/en-us/library/aa717040.aspx

它也适用于 svcutil。

于 2009-11-27T16:11:17.963 回答