Wcf 在web.config的单独部分中配置MEX和服务
我有一个基本问题——我们能假设两种配置做相同的事情吗 web.config一Wcf 在web.config的单独部分中配置MEX和服务,wcf,Wcf,我有一个基本问题——我们能假设两种配置做相同的事情吗 web.config一 <service behaviorConfiguration="endpointBehavior" name="mYwebSrv.mYDevice"> <endpoint address="" binding="basicHttpBinding" contract="mYwebSrv.ImYDevice"></endpoint> </service>
<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>
不完全是这样。
由于您在Web.config中声明了一个新服务,因此这两个服务(endpointBehavior和name)的密钥不能相同
由于您希望向您的服务公开一个端点,并为同一服务公开一个端点,但要公开元数据(mex),因此将两者放在同一服务下是有意义的,这是Microsoft建议的,请参见此处:
希望能有帮助
<service
name="Metadata.Example.SimpleService"
behaviorConfiguration="SimpleServiceBehavior">
<endpoint address=""
binding="wsHttpBinding"
contract="Metadata.Example.ISimpleService" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>