VS+SqlServe 在引用了webservice后刷新数据时提示:已超过传入消息(65536)的最大消息大小配额若要增加配额请使用相应绑定元素上 MaxReceivedMessageSize 属性


使用了VS建立了webservice 后,在VS项目中添加了引用,可是在今天从sqlserve中取数据时,

突然提示:已超过传入消息(65536)的最大消息大小配额若要增加配额请使用相应绑定元素上 MaxReceivedMessageSize 属性

这让我那叫一个郁闷啊,之前都是一直好用,为什么突然就不好用了?????????

后来根据提示分析和上网查资料分析,猜测可能是数据量问题,再去找如何绑定元素上 MaxReceivedMessageSize属性,经过了几个小时的处理终于找到解决方案了:

1、设置客户端的MaxReceivedMessageSize等属性值即可,代码设置如下:(这个我的是好用,但是不确定其他的好不好用,毕竟每个人出现问题时的情况都不一样,环境也不一样)

ServiceClient service = new ServiceClient();
(service.Endpoint.Binding as NetTcpBinding).MaxReceivedMessageSize = int.MaxValue;
(service.Endpoint.Binding as NetTcpBinding).MaxBufferPoolSize = int.MaxValue;
(service.Endpoint.Binding as NetTcpBinding).MaxBufferSize = int.MaxValue;

2、在配置项目文件中(app.config/web.config)设置如下代码:(绝对好用,如果这个不行再试第一个解决方案)
 <binding name="ServerName" 
                 maxBufferSize="2147483647" 
                 maxBufferPoolSize="2147483647" 
                 maxReceivedMessageSize="2147483647" />
      </basicHttpBinding>




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。