我想測試一個簡單的WCF tcp.net客戶端/服務器應用程序。 WCF服務託管在Windows 7 IIS上。我在IIS中啓用了TCP.net。我通過配置具有管理權限的應用程序池並將IIS服務應用程序設置爲在上下文中運行,從而授予自由安全權限以服務應用程序。WCF tcp.net客戶端/服務器連接失敗「流安全性是必需的」
我啓用了對服務應用程序進行跟蹤以進行故障排除。每當我運行一個針對WCF客戶端應用程序的服務的簡單方法調用時,我會得到以下例外:
「流安全性需要在http://www.w3.org/2005/08/addressing/anonymous,但沒有協商安全上下文,這很可能是由於遠程端點丟失來自綁定的StreamSecurityBindingElement。「
這裏是我的客戶端配置:
<bindings>
<netTcpBinding>
<binding name="InsecureTcp">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
這裏是我的服務配置:
<bindings>
<netTcpBinding>
<binding name="InsecureTcp" >
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<services>
<service name="OrderService" behaviorConfiguration="debugServiceBehavior">
<endpoint
address=""
binding="netTcpBinding"
bindingConfiguration="InsecureTcp"
contract="ProtoBufWcfService.IOrder" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="debugServiceBehavior">
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
WCF是一個程序,不是一個人,喜歡或不相像的東西。這是誤導性的,因爲也可以將WCF配置爲不安全的通信方案。此外,你不給出例外的理由。 – 2015-10-30 18:59:16
@DanielLeiszen:好吧,WCF的**設計師**不喜歡不安全的通信 - 是「個人」足夠嗎? – 2015-10-30 22:19:18
不安全通信(https://msdn.microsoft.com/en-us/library/ms734784(v=vs.110)。aspx)由WCF支持,並且對於開發和測試目的是可接受的方案,或者不需要任何安全性的通信。該問題沒有具體說明案件的具體情況,因此無法確定該具體方案是否符合這些建議。但是,有關的例外和問題仍然沒有答案。我真的對它的原因感興趣,因爲我遇到了同樣的錯誤。所以,如果你知道答案,請分享。 – 2015-10-30 22:57:14