我将本机作为服务器开发时,没出什么问题,将wcf服务端寄缩到另一台电脑上时,出现了一些问题,这里总结下:
1、wcf服务器和另一个网站应用出问题
服务器的iis上有一个网站应用,当我将wcf服务寄缩到iis上时,wcf服务和网站都出现了Server Application Unavailable错误,因为网站应用对应的.net Framework是2.0的,而wcf应用对应的.net Framework是4.0的,会有冲突。
解决方案:新建一个程序池,将wcf服务放在此程序池上即可。
2、提示“调用方未由服务进行身份验证”错误,客户端与服务端都新增<security mode="None"/>模块
服务端web.config修改为:
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_NoneSecurity" maxBufferPoolSize="" maxReceivedMessageSize="" useDefaultWebProxy="false">
<readerQuotas maxStringContentLength="" maxArrayLength=""/>
<!--新增-->
<security mode="None"/>
</binding>
</wsHttpBinding>
</bindings>
客户端app.config配置文件修改为:
<wsHttpBinding>
<binding name="WSHttpBinding_IService1">
<!--新增-->
<security mode="None" />
</binding>
</wsHttpBinding>