在 IIS 中托管的 WCF 服务中,我正在尝试设置多个端点。一种用于 SOAP,一种用于 SOAP12。根据MSDN 文档,我编辑Web.config
如下:
<services>
<service name="MyNamespace.MyClass">
<endpoint address="" binding="basicHttpBinding" contract="IContract" />
<endpoint address="Endpoint2" binding="wsHttpBinding" contract="IContract" />
</service>
</services>
这似乎没有任何效果。网址上没有答案:
http://localhost:51454/MyClass.svc/Endpoint2
如果我更改IContract
为IContract2
,我会收到错误消息:
The service '/MyClass.svc' cannot be activated due to an exception during
compilation.
所以Web.config
我正在编辑的是正在使用的那个。
将默认地址的绑定从 更改为basicHttpBinding
没有wsHttpBinding
任何效果。WSDL 保持不变。
WSDL 包含这一位,这似乎表明它正在使用生成的绑定运行:
<wsdl:service name="TapasSim">
<wsdl:port name="BasicHttpBinding_IContract"
binding="i0:BasicHttpBinding_IContract">
<soap:address location="http://localhost:51454/MyClass.svc"/>
</wsdl:port>
</wsdl:service>
为什么 WCF 服务不使用来自的配置Web.config
?
为什么 WCF 不监听/Endpoint2
SOAP12 绑定?
为什么默认端点不会从basicHttpBinding
to更改wsHttpBinding
?