在web.config的单独部分中配置MEX和服务

时间:2015-11-16 09:49:13

标签: wcf

我有基本的问题 - 我们可以假设两种配置都做同样的事情吗?

web.config one

<service behaviorConfiguration="endpointBehavior" name="mYwebSrv.mYDevice">
            <endpoint address="" binding="basicHttpBinding" contract="mYwebSrv.ImYDevice"></endpoint>
</service>

<service behaviorConfiguration="endpointBehavior" name="mYwebSrv.mYDevice">
            <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" contract="IMetadataExchange" />
</service>

web.config两个

<service behaviorConfiguration="endpointBehavior" name="mYwebSrv.mYDevice">
            <endpoint address="" binding="basicHttpBinding" contract="mYwebSrv.ImYDevice"></endpoint>
            <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" contract="IMetadataExchange" />
</service>

1 个答案:

答案 0 :(得分:0)

不完全是。 由于您在Web.config中声明了一个新服务,因此它不能为这两个服务(endpointBehavior和name)使用相同的密钥。

由于您希望将端点暴露给您的服务和端点以获得相同的服务但​​是针对元数据(mex),将两者放在相同的服务下是有意义的,就像Microsoft建议的那样,请参阅此处:{{3} }

<service
      name="Metadata.Example.SimpleService"
      behaviorConfiguration="SimpleServiceBehavior">

    <endpoint address=""
              binding="wsHttpBinding"
              contract="Metadata.Example.ISimpleService" />

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

希望它有所帮助。