从WCF / .Net向WSDL输出添加注释

时间:2009-03-17 17:24:56

标签: wcf wsdl

基于W3的WSDL规范,可以将“wsdl:document”标记添加到WSDL输出中,以便使用该Web服务的人员可以更好地解释/记录此Web服务。

有人知道如何让WCF使用这些注释/描述,或者如何在C#中编写那些注释作为wsdl的一部分导出的代码?

谢谢,迈克尔

5 个答案:

答案 0 :(得分:11)

似乎GitHub上的社区项目WCFExtras提供了解决.NET 3.5限制的方法。

答案 1 :(得分:4)

http://msdn.microsoft.com/en-us/library/aa717040.aspx

我认为这会做你想要的,但它只适用于.NET客户端。

答案 2 :(得分:3)

如果您在C#类中进行设计/编码,使用[ServiceContract]和[OperationContract]进行装饰,那么我不知道如何将这些类和方法中可能包含的文档导出到WSDL中,不幸的是

我也对此感到震惊 - 我希望我的类和方法的任何///评论都出现在WSDL中 - 没有运气: - (

我们现在的解决方案是: 1)我们使用C#中的所有操作创建服务接口的基本“模型” 2)我们将它编译成一个程序集 3)我们从该程序集中提取元数据(WSDL,XSD),然后丢弃C#“prototype” 4)我们手动将注释(xs:annotation / xs:documentation)添加到WSDL和XSD 5)从现在开始,WSDL / XSD是主 - 我们从那些描述生成我们的接口

既麻烦又烦人,但它对我们来说还算不错。

我当然希望VS2010 / WCF 4.0能为我们带来更多支持!!

马克

答案 3 :(得分:1)

不幸的是,WCF不会自己做这件事。 WSDL生成有扩展点,您可以使用它们至少部分地完成此任务:查找IWSDLExportExtension接口。

我有一个small example关于如何在我的网站上实现一个简单的WSDL导出扩展,这可能会帮助你开始。

答案 4 :(得分:0)

[WebService(Namespace = "XXXXXXXXXXXXX", **Description**="V0.2.42")]

描述在.NET 4.0中放置你想要的任何内容,不确定哪个版本...可能有点迟到的回答,但答案看起来比仅仅开发人员看到的WSDL添加模糊所需要的更复杂。