我使用 .NET 4.0 编写了一个 WCF 服务,该服务托管在我的 Windows 7 上x64
带有 IIS 7.5 的终极系统。(413) Request Entity Too Large.
因此,我当然花了 3 个小时在谷歌上搜索错误消息,并且我看到的有关此主题的每个主题都建议提高"uploadReadAheadSize"属性。
"appcmd.exe set config -section:system.webserver/serverruntime/uploadreadaheadsize: 10485760 /commit:apphost"
"cscript adsutil.vbs set w3svc/<APP_ID>/uploadreadaheadsize 10485760"
我还使用 IIS 管理器通过打开站点并转到"管理"下的"配置编辑器"来设置该值。
那么有人知道我还能尝试什么来修复这个错误吗?
答案
那%20是%20不是%20问题%20of%20IIS%20而是%20%20问题%20of%20WCF。%20WCF%20by%20default%20limits%20messages%20to%2065KB%20to%20avoid%20denial%20of%20service%20attack%20with
要解决此问题,您必须重新配置服务以接受更大的消息。
你需要设置maxReceivedMessageSize
在你的绑定中。readerQuotas
。
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding maxReceivedMessageSize="10485760">
<readerQuotas ... />
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>