none
问题是:难道每个服务都必须在配置节上配置 <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />吗? RRS feed

  • 问题

  • 问题是:难道每个服务都必须在配置节上配置 <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />吗?
    lizecheng:
    <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />

    <host>
    <baseAddresses>
    <add baseAddress="net.tcp://localhost:8001/"/>
    <add baseAddress="http://localhost:8002/"/>
    </baseAddresses>
    </host>
    事实上我只需要<add baseAddress="net.tcp://localhost:8001/"/>就可以了,但是好像每次都得配置“mexHttpBinding”因为配置了 <serviceMetadata httpGetEnabled="true" />。
    问题是:难道每个服务都必须在配置节上配置 <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />吗?

    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    2010年11月2日 7:34
    版主

答案

  • 也不是,当你的服务元数据信息需要被客户端知道的时候,可以暴露一个。如果是内部应用,一般服务开发的时候暴露,如果是互联网应用,需要第三方客户端使用这个服务,一般会暴露这个服务元数据WSDL信息。WCF4.0提供了默认的终结点。需要不需要看你的项目需求啦。不是必须的。
    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    • 已标记为答案 Mog Liang 2010年11月9日 9:24
    2010年11月2日 7:34
    版主