WCF 4服务的平面WSDL

kay*_*zam 9 wcf wsdl wcf-4

使用WCF 3.5和Christian WeyerFlatWsdl EndpointBehavior,我能够在没有任何<import>指令的情况下为我的WCF服务获取单个平面WSDL文件.

现在使用WCF 4,由于某种原因,这不再起作用了.

我已经尝试了许多博客条目中描述的所有内容,包括使用WcfExtras行为扩展.

他们都指的是Chr.Weyers解决方案或推荐WcfExtras.我还确保为绑定,ServiceContract和ServiceBehavior指定了相同的命名空间.

在自定义服务主机中,当要注入FlatWsdlExtension时,Description.Endpoints集合始终为空.我尝试使用或不使用地址配置我的服务端点,到目前为止没有运气.

为了获得WCF 4服务的单一平面WSDL,我需要做什么?

谢谢你的回答.

Dav*_*ler 4

我遇到了这个问题。经过今天的多次尝试,我终于通过执行以下操作使其工作:

完整阅读这篇博文。

确保在 ServiceContract、ServiceBehavior 和 bindingNamespace(.config->services/service/endpoint 部分)中指定完全相同的命名空间属性。

请注意这个问题,我曾经遇到过这个问题。

下载此 zip 文件并在项目中的某个位置包含 FlatWsdl/Extensions:FlatWsdl.cs、FlatWsdlServiceHost.cs 和 FlatWsdlServiceHostFactory.cs。

确保在 .svc 文件的 ServiceHost Factory 属性中指定您的 FlatWsdlServiceHostFactory.cs 版本的完全限定类名(当然不包括 .cs)。

我今天尝试了 WcfExtras 等其他东西 - 可能或多或少,但这些步骤最终让我继续前进。祝你好运!

[编辑]

  • 尝试使用提供的链接下载 zip 文件时,出现“您要查找的资源已被删除、名称已更改或暂时不可用。”错误。 (2认同)