无法连接到远程WCF服务 – SecurityNegotiationException

我开始使用WCF ,我正在关注来自MSDN的示例 。 我设法在一台机器上运行Getting Started示例,并在不同的机器上部署客户端和服务并远程访问服务。

我的目标是实现发布/订阅设计模式 。 我设法在一台机器上运行它没有任何大问题。 但是当我在不同的机器上部署客户端和服务时,我的客户端无法连接到该服务。 我得到以下exception:

System.ServiceModel.Security.SecurityNegotiationException was unhandled Message=The caller was not authenticated by the service. Source=mscorlib 

(如果需要,我可以共享堆栈跟踪。)

这是我的配置:

服务 – web.config

                 

客户端 – app.config

      <binding name="WSDualHttpBinding_ISampleContract" clientBaseAddress="http://:8000/myClient/" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">          <endpoint address="http:///ServiceModelSamples/service.svc" binding="wsDualHttpBinding" bindingConfiguration="WSDualHttpBinding_ISampleContract" contract="ISampleContract" name="WSDualHttpBinding_ISampleContract">  <servicePrincipalName value="host/" />      

我已经找到了解决方案,但没有任何对我有用。 我试图找到一种方法来禁用服务端的安全/身份validation(只是为了让它工作),但也没有成功。

我怎样才能解决这个问题?

wsDualHttpBinding默认使用Windows身份validation。 如果您现在不需要此身份validation,则可以更改配置以将其关闭:

                          

在客户端配置中更改安全性部分的方式相同: