wcf 远程服务器返回了意外响应: (413) Request Entity Too Large。

我遇到这个问题的原因是:我使用asp.net 网站调用wcf服务后,通过方法提交数据产生的。我提交的数据是一个实体,包含很多字符串和图片格式的二进制数据超过4M 就报个错误。

后来同事帮忙解决了。他说是因为wcf服务的配置文件有问题, 一般情况下,我们新建wcf都使用默认wcf配置,所以都是 basicHttpBinding  ,而刚好,默认wcf传送的大小有限制的是4M,所有超出了就报错。解决办法是:

修改默认绑定协议:

<!--如果没有设置,将采用wcf默认机制,这里设置或改变默认绑定设置-->
<protocolMapping>
<remove scheme="http"/><!--移除原有默认绑定  (bascHttpBinding)-->
<add scheme="http" binding="wsHttpBinding" bindingConfiguration="BaseWsBinding"/><!--添加新的默认绑定协议 wsHttpBinding ->
</protocolMapping>

加上以上配置后,就可以了。

我就是因为没有加上以上的配置,所有不管你配置什么协议,都采用默认的,不管你改maxReceivedMessageSize 多大都不行,因为服务端始终采用默认大小。

上一篇:转 系统级编程语言性能PK


下一篇:远程服务器返回错误: 404错误、远程服务器返回错误:500错误、 HttpWebResponse远程服务器返回错误:(404、500) 错误。