民间,
我正在创建一个新的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进入/ nodes。
我是否因为另一个模糊的svcutil.exe参数而失明,或者是否真的无法自动在元数据中生成此文档?
编辑:好的,根据Marc Gravell的回答,评论和文档字符串不在编译的DLL中,也不在MEX元数据交换协议上可用(可惜!)。
那么:如果您需要向第三方提供访问您服务所需的信息,您如何记录您的WCF服务?是否存在“NService”或“Sandcastle for WCF”工具,它将扫描我的WCF服务库并从源代码构建WSDL和XSD,包括注释?
似乎找不到很多工具和方法来做到这一点 - 老实说,让我大吃一惊....
马克
答案 0 :(得分:3)
svcutil.exe使用“mex”API,只能访问元数据的子集。评论不包括在内(IIRC,[DescriptionAttribute]
也不是很大。)
您可能必须依赖外部文档(即帮助页面/死树)。另一个选择(虽然它打破了许多纯SOA规则)是在dll + xml中发布实体/接口; svcutil(和IDE)可以重用现有程序集中的匹配类型。
答案 1 :(得分:0)
也许这会有所帮助: http://msdn.microsoft.com/en-us/library/aa717040.aspx
它也适用于svcutil。