我收到这个可怕的消息并花了很多时间阅读它但仍然无法解决它
我的客户端上运行的控制台应用程序尝试在另一台计算机上调用WCF服务。该服务在域帐户下运行。我相信在这种情况下,它会尝试使用Kerberos进行身份验证
我还读过,如果你在客户端提供虚拟服务主名
<servicePrincipalName value="MySystem/Service1"/>
然后它将回归到使用ntml。
我没有运气就试过这个。如果客户端与服务在同一台机器上,那么它可以正常工作。不确定我还能尝试什么。这是我客户端的配置
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_HelpersService" />
</netTcpBinding>
</bindings>
<client>
<endpoint address="net.tcp://myserver/SPInterface/HelpersService.svc/TCP" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_HelpersService"
contract="HelpersService" name="NetTcpBinding_HelpersService">
<identity>
<servicePrincipalName value="MySystem/Service1"/>
</identity>
</endpoint>
</client>
</system.serviceModel>
我也不明白,如果我在Visual Studio中使用WCFTestClient从本地机器生成相同的配置文件,它可以正常工作
我的服务器配置文件包含: -
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true">
<serviceActivations>
<add relativeAddress="HelpersService.svc" service="SPInterface.Models.HelpersService" factory="SPInterface.WebService.HelpersServiceHostFactory"/>
</serviceActivations>
</serviceHostingEnvironment>
<services>
<service name="SPInterface.Models.HelpersService" behaviorConfiguration="Debug">
<endpoint address="TCP" binding="netTcpBinding" bindingNamespace="http://Server/SPInterface/Services" contract="SPInterface.Contracts.IHelpersService"/>
<endpoint address="Rest" binding="webHttpBinding" bindingNamespace="http://Server/SPInterface/Services" contract="SPInterface.Contracts.IHelpersService" behaviorConfiguration="Rest"/>
</service>
</services>
</system.serviceModel>
内部异常是&#34;目标主体名称不正确&#34;