0

这是 mex 端点的一个示例

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

但我见过人们写 mex 端点,比如

<endpoint address="net.tcp://localhost:1645/ChatServer/mex"
                      binding="mexTcpBinding"
                      contract="IMetadataExchange"/>

所以告诉我为什么以及何时应该像上面那样编写 mex 端点。只需比较我的两个端点,看看第一个地址属性有“mex”这个词但第二个有 url 的区别。

所以我的问题是“当人们必须提供一个 url 来处理 mex 端点的地址属性时?”。

另一个问题是“mex 地址 url 是否总是应该在 url 的末尾有 /mex 字?”。如果我给出net.tcp://localhost:1645/ChatServer/ or net.tcp://localhost:1645/ChatServer没有 mex 字样的 url,那么服务将无法被发现?

/mex 字的意义是什么?

4

1 回答 1

1

第一个将通过 http 公开元数据,第二个将通过 TCP 进行。它用于支持平台,WCF是为支持多平台而制作的。

您可以创建任何 url 来公开元数据。没有必要遵循上述约定。mex 只是更好的做法,使其元数据与 url+mex 相同。

这是一个提供概述的网址

http://www.danrigsby.com/blog/index.php/2008/05/27/wcf-metadata/

于 2012-12-28T12:41:47.070 回答