C# WCF中的WSDL URI是什么?
什么是WSDL?我在谷歌搜索时找不到很多参考资料…C# WCF中的WSDL URI是什么?,c#,wsdl,wcf,C#,Wsdl,Wcf,什么是WSDL?我在谷歌搜索时找不到很多参考资料… 我如何知道我的WCF web服务的WSDL URI?一些关于WSDL的好教程: 如果您的Web服务地址为 http://services.aonaware.com/DictService/DictService.asmx 您可以通过以下方式访问wsdl文件: http://services.aonaware.com/DictService/DictService.asmx?WSDL WCF服务的WSDL通常通过向服务的HTTP(s
我如何知道我的WCF web服务的WSDL URI?一些关于WSDL的好教程:
http://services.aonaware.com/DictService/DictService.asmx
您可以通过以下方式访问wsdl文件:
http://services.aonaware.com/DictService/DictService.asmx?WSDL
WCF服务的WSDL通常通过向服务的HTTP(s)URL添加
?WSDL
来检索。但是您必须允许在ServiceMetadataBehavior
中进行此WSDL检索。如果使用WCF服务应用程序项目模板,WCF 4默认情况下允许对所有基于HTTP的服务执行此操作:
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
此外,通过在浏览器中键入基于HTTP的服务URL,您应该会收到带有指向WSDL的超链接的帮助页面
在WCF3.x中,您必须手动允许它,并在服务定义中使用行为配置
<behaviors>
<serviceBehaviors>
<behavior name="myConfig">
<!-- requires HTTPS to be configured for your service -->
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="..." behaviorConfiguration="myConfig">
...
</service>
</services>
...
只有通过HTTP GET才能以这种方式检索WSDL。您还可以使用WS-MetadataExchange协议从中检索服务元数据-它还支持不同的传输协议。WCF中的WSDL仅用于SOAP服务。WCF中的WSDL URI用于创建可用于与客户端通信的代理类 WSDL URI获取/调用元数据。对于要构建代理类的客户机,他们需要了解服务契约、操作契约、WCF中使用的方法以及WCF方法中的参数,没有这些信息,客户机将无法生成代理类 代理类,同时在应用程序中托管WCF服务,因此元数据实际上负责在应用程序配置文件中生成所有这些信息