使用了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>
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647" />
</basicHttpBinding>