根据我的理解,可以使用三种类型的绑定来探索元数据:
mexHttpBinding
mexHttpsBinding
mexTcpBinding
WcfTestClient.exe
支持所有这些绑定吗?
UPD
根据我的理解,获取元数据的替代方法是获取WSDL信息(发布元数据的旧方法)。
如果EcfTestClient.exe
支持上面列出的所有这些绑定,则不需要WSDL
。根据我的理解,启用WSDL
我需要在<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
的web.config中放置behaviors
。如果使用mexHttpBinding,mexHttpsBinding,mexTcpBinding
绑定检索元数据,则不需要这样做。如果我错了,请纠正我。在这种情况下,WcfTestClient.exe
会找到元数据。
如果我为httpGetEnabled
和httpsGetEnabled
WcfTestClient.exe
做错,则无法获取服务信息:
Error: Cannot obtain Metadata from http://localhost:35168/mySrv.svc If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address.
看起来WcfTestClient.exe
是从WSDL获取信息而不是从绑定mexHttpBinding , mexHttpsBinding , mexTcpBinding
获取信息?
答案 0 :(得分:0)
嗯,基于MSDN,WCFTestClient支持SvcUtil支持的所有绑定。现在,如果你看下面的MSDN摘录:
Svcutil同时发出以下元数据请求以检索元数据。
MEX(WS-Transfer)请求到提供的地址
MEX请求附加/ mex的提供地址
DISCO请求(使用ASMX的DiscoveryClientProtocol)到提供的地址。
看起来可以安全地假设WcfTestClient支持所有三个元数据下载。