解决WCF跨机器调用时发生“调用方未由服务进行身份验证”错误

时间:2022-03-16 18:57:34

特别是在Windows2003的环境下面,无论使用tcp.NET还是Http,都会发生上面的错误信息。解决方法是同时修改服务端和客户端的config配置文件。


一、修改服务端的config配置文件


1、将客户端的config配置文件中,<bindings>..</bindings>段的内容复制到<system.serviceModule></system.serviceModule>段内。
2、修改每一个<binding></binding>里面的验证段,验证段内不需要任何其它的东西,如果里面已经一些配置内容,记得要删除掉。

 

<security mode="None"></security>

 

3、在<services>段内,每一个<endpoint>段的设置中,加入bindingConfiguration="连接名",如:


<endpoint address="service"
 binding="netTcpBinding" bindingConfiguration="TcpBinding" contract="ServerCoreService.IDataBaseService" name="TcpBinding" />


二、修改客户端的config配置文


参照服务端的第2和第3点进行修改即可。