Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF 4服务的平面WSDL_Wcf_Wsdl_Wcf 4 - Fatal编程技术网

WCF 4服务的平面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 3.5和,我能够为我的WCF服务获得一个单一的平面WSDL文件,而无需任何
指令

现在有了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现在本机支持此操作。