在正确设置好net.tcp WCF服务发布后,客户端还是不能引用服务出现如下错误:
宿主程序启动wcf时,正常没有报告异常.但是服务器端调用时出现以上错误
出现错误状况分析:定义的OperationContract 方法过多.
当一个wcf定义过多的方法时会出现这个错误(100多个,具体超出数量没有统计),当注释掉一些个方法时,恢复正常.
开始以为微软限制了最大公开方法个数,找了好长时间没有找到设置项,后来在网上找到如下解决方法,
问题得到解决.但是还是不明白其中的原理.
有那位高手明白请留言给解释下,万分感谢:
其实这个问题是由于VS的环境引起,需要修改一下配置文件:
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.Config文件,在文件后面增加以下节:
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="BindSystem" maxBufferPoolSize="2147483647"
maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint binding="netTcpBinding" bindingConfiguration="BindSystem"
contract="IMetadataExchange" name="net.tcp" />
</client>
</system.serviceModel>
重启VS,后再次引用成功!
转载于:https://www.cnblogs.com/wymlvjing/archive/2012/11/29/2794897.html