WCF服务,我如何判断我发布的是WSDL还是MEX?

WCF服务,我如何判断我发布的是WSDL还是MEX?,wcf,wsdl,mex,Wcf,Wsdl,Mex,据我所知,MEX和WSDL是发布元数据的两种不同方式。为了让客户选择他们喜欢的一个,我想两者都启用。但我不完全确定怎么做 我的网络配置仅包含: 当浏览到它时,会显示默认页面,带有指向serviceblahblah?wsdl的链接,这表明我只发布了wsdl 我的问题是,这是在使用MEX吗?如果不是的话,我怎样才能同时发布MEX?我应该同时发布这两个版本吗 如果有什么不同的话,我用的是basichttpsbinding 当浏览到它时,会显示默认页面,带有指向serviceblahblah?wsdl

据我所知,MEX和WSDL是发布元数据的两种不同方式。为了让客户选择他们喜欢的一个,我想两者都启用。但我不完全确定怎么做

我的网络配置仅包含:

当浏览到它时,会显示默认页面,带有指向serviceblahblah?wsdl的链接,这表明我只发布了wsdl

我的问题是,这是在使用MEX吗?如果不是的话,我怎样才能同时发布MEX?我应该同时发布这两个版本吗

如果有什么不同的话,我用的是basichttpsbinding

当浏览到它时,会显示默认页面,带有指向serviceblahblah?wsdl的链接,这表明我只发布了wsdl

不,您只是在访问WSDL。您还希望在该URL上看到什么?;-)

该属性允许发布WSDL元数据。如文档所示,如果要公开MEX,还必须公开MEX端点,然后才能访问:

<!-- the mex endpoint is explosed[sic] at         
http://localhost/servicemodelsamples/service.svc/mex -->

<endpoint address="mex"
          binding="mexHttpBinding"
          contract="IMetadataExchange" />

客户端在发现您的服务时,将首先尝试调用
/mex
端点。如果没有找到,他们将请求WSDL。当您在VisualStudio中单击“添加服务引用”并输入普通的服务URL时,您可以看到这一点,我确信这一行为在某个地方得到了记录

当浏览到它时,会显示默认页面,带有指向serviceblahblah?wsdl的链接,这表明我只发布了wsdl

不,您只是在访问WSDL。您还希望在该URL上看到什么?;-)

该属性允许发布WSDL元数据。如文档所示,如果要公开MEX,还必须公开MEX端点,然后才能访问:

<!-- the mex endpoint is explosed[sic] at         
http://localhost/servicemodelsamples/service.svc/mex -->

<endpoint address="mex"
          binding="mexHttpBinding"
          contract="IMetadataExchange" />


客户端在发现您的服务时,将首先尝试调用
/mex
端点。如果没有找到,他们将请求WSDL。当您在VisualStudio中单击“添加服务引用”并输入普通服务URL时,您可以看到这一点,我相信这一行为已在某个地方记录在案。

太好了,这使它更加清晰。你会推荐发布一个MEX端点吗?@SLC是的,(简而言之):MEX可以公开比WSDL更详细的元数据。太好了,这让它更清晰。您是否也建议发布MEX端点?@SLC yes(简而言之):MEX可以公开比WSDL更详细的元数据。