我正在努力弄清楚如何在我的WCF服务中的某个端点上启用安全性。
我试图弄清楚是否有可能拥有1个wcf服务,其中有多个端点具有不同的安全配置。
Endresult应该是具有以下端点的服务:
我想知道这是否可行,因为:
我是否需要在其他服务上开始托管我的wsDualHttpBinding?
答案 0 :(得分:0)
您可以向一个服务添加多个端点,而每个端点负责其配置,包括安全性。
设置主持人:
ServiceHost host=new ServiceHost(typeof(CalcService));
host.AddServiceEndpoint(typeof (ICalc), new NetNamedPipeBinding("internalBinding"),
"net.pipe://127.0.0.1:5000/CalcService");
host.AddServiceEndpoint(typeof(ICalc), new BasicHttpBinding("secureBinding"),
"http://127.0.0.1:5001/CalcService");
这里的配置是从App.config获得的,看起来像这样
<bindings>
<basicHttpBinding>
<binding name="secureBinding" openTimeout="00:01:00" closeTimeout="00:01:00" sendTimeout="00:30:00" receiveTimeout="00:30:00"
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647"
transferMode="Streamed">
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
<security mode="Transport"/>
</binding>
</basicHttpBinding>
<netNamedPipeBinding>
<binding name="internalBinding" openTimeout="00:01:00" closeTimeout="00:01:00" sendTimeout="00:30:00" receiveTimeout="00:30:00">
<security mode="None"/>
</binding>
</netNamedPipeBinding>
</bindings>