WCF 4服务的平面WSDL
使用WCF 3.5和,我能够为我的WCF服务获得一个单一的平面WSDL文件,而无需任何WCF 4服务的平面WSDL,wcf,wsdl,wcf-4,Wcf,Wsdl,Wcf 4,使用WCF 3.5和,我能够为我的WCF服务获得一个单一的平面WSDL文件,而无需任何指令 现在有了WCF 4,出于某种原因,这不再有效 我尝试了很多博客文章中描述的一切,包括使用行为扩展 它们都是指Chr。Weyers解决方案或推荐WcfExtras。 我还确保为绑定、ServiceContract和ServiceBehavior指定了相同的名称空间 在自定义服务主机中,当即将注入FlatWsdlExtension时,Description.Endpoints集合始终为空。我试图配置我的服务端
指令
现在有了WCF 4,出于某种原因,这不再有效
我尝试了很多博客文章中描述的一切,包括使用行为扩展
它们都是指Chr。Weyers解决方案或推荐WcfExtras。
我还确保为绑定、ServiceContract和ServiceBehavior指定了相同的名称空间
在自定义服务主机中,当即将注入FlatWsdlExtension时,Description.Endpoints集合始终为空。我试图配置我的服务端点,有没有地址,到目前为止运气都不好
为了为我的WCF 4服务获得一个单一的平面WSDL,我需要做什么
谢谢你的回答。迟来的回答,希望能对别人有所帮助 有相同的问题,通过手动将行为添加到serviceendpoint来解决:
FlatWsdlServiceHost serviceHost=new FlatWsdlServiceHost(typeof(MyService));
ServiceEndpoint endp=serviceHost.AddServiceEndpoint(typeof(IMyService),新的BasicHttpBinding(),“MyService”);
添加(新的FlatWsdl());
我遇到了这个问题。经过今天的几次尝试,我终于通过以下操作实现了:
确保在以下位置指定完全相同的命名空间属性:ServiceContract、ServiceBehavior和bindingNamespace(.config->services/service/endpoint部分)
请注意,我曾经遇到过
此zip文件包含FlatWsdl/扩展名:FlatWsdl.cs、FlatWsdlServiceHost.cs和FlatWsdlServiceHostFactory.cs,它们位于项目中的某个位置
确保在.svc文件的ServiceHost Factory属性中为FlatWsdlServiceHostFactory.cs(当然是减去.cs)的版本指定完全限定的类名
今天,我尝试了WcfExtras和其他一些东西——可能或多或少,但这些步骤最终让我走了。祝你好运
[编辑]作为参考,现在.net 4.5本机支持此功能。谢谢你让我知道。该是框架的一部分了!我得到
您正在查找的资源已被删除、名称已更改或暂时不可用。
尝试使用提供的链接下载zip文件时出错。可能是因为Visual Studio现在本机支持此操作。