var client = new CommonClient()
XElement exceptionDates = XElement
.Parse(client.ExceptionDatesUpdateControl("status").OuterXml);
致电:
client.ExceptionDatesUpdateControl("status")
抛出以下错误:
SecurityNegotiationException:对SSPI的调用失败
原因是什么?
其他信息:
的Web.config:
<system.serviceModel>
<bindings>
<netNamedPipeBinding>
<binding name="NetNamedPipeBinding_ICommon" />
</netNamedPipeBinding>
</bindings>
<client>
<endpoint address="net.pipe://localhost/service/common" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_ICommon" contract="Service.Common.ICommon" name="NetNamedPipeBinding_ICommon">
</endpoint>
</client>
App.config中:
<services>
<service name="PROJ.Service.CommonService" behaviorConfiguration="CommonServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="net.pipe://localhost/service/common"/>
</baseAddresses>
</host>
<endpoint
address="net.pipe://localhost/service/common"
binding="netNamedPipeBinding"
bindingConfiguration="pipeCommonServiceBinding"
contract="PROJ.Service.ICommon"
/>
答案 0 :(得分:0)
在以下情况下可能会发生此异常:
•谈判时 初始安全上下文。确切的错误取决于 使用的协商技术:简单和受保护的GSS-API 谈判(SPNEGO)或TLSNEGO。有关更多信息,请参阅安全性 协议
•在初始安全性之上建立安全会话 上下文。
•在现有安全会话的密钥续订期间。
安全协商错误可能会作为Spnego / Sslnego的一部分发生 安全协议或作为SecureConversation协议的一部分。
来源:MSDN
答案 1 :(得分:0)
我找到了答案 当我看得更深时,还有另一个例外: “Security.Authentication.AuthenticationException”。
当我在配置文件中注释这些行时,它消失了:
<!--identity>
<servicePrincipalName value="host/..." />
</identity-->