wcf 客户端引用不了错误修改方法

本文探讨了在使用WCF服务时遇到的错误,即在定义过多的OperationContract方法后,客户端无法引用服务并出现特定错误。通过修改VS配置文件中的系统服务模型部分,特别是调整最大缓冲池大小、最大消息大小等参数,可以解决这一问题。解释了为何增加这些配置能够有效缓解错误,并提供了具体步骤和代码示例。

在正确设置好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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值