我的WCF服务抛出ProtocolException(403) - Request Entity Too Large。将文件(~100KiB)推送到服务时会发生这种情况。
奇怪的是,这只发生在托管(临时)版本上,而不是本地版本。我的客户端配置是:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="DefaultBindingConfiguration" closeTimeout="01:00:00" openTimeout="01:00:00" receiveTimeout="01:00:00" sendTimeout="01:00:00" maxBufferSize="1000000000" maxBufferPoolSize="1000000000" maxReceivedMessageSize="1000000000">
<readerQuotas maxDepth="1000000000" maxStringContentLength="1000000000" maxArrayLength="64000000" maxBytesPerRead="1000000000" maxNameTableCharCount="1000000000" />
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
...
</system.serviceModel>
我的服务器配置是:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding maxBufferSize="1000000000" maxReceivedMessageSize="1000000000" maxBufferPoolSize="1000000000" sendTimeout="01:00:00" receiveTimeout="01:00:00">
<readerQuotas maxDepth="1000000000" maxStringContentLength="1000000000" maxArrayLength="1000000000" maxBytesPerRead="1000000000" />
<security mode="None"/>
</binding>
</basicHttpBinding>
</bindings>
...
</system.serviceModel>
为简洁起见,我省略了<behaviours>
部分。客户端以编程方式创建端点,全部使用DefaultBindingConfiguration
。我可以通过选择性地将值减少到1
来确认服务器和客户端绑定配置是否在本地生效,并且看到它失败。
为什么托管服务器的行为可能与我的本地服务器不同?显着差异:
注意: 要预先排除&#34;这些值过高&#34;并且“没有设定全球价值观”,我知道风险所以不需要提醒。:)
非常感谢任何指示和建议。
更新
这个问题已经解决了。重新启动Web场中的节点后,将不再显示此行为。这并不能让我满怀信心,因为如果它再次发生,我不知道如何解决它。我欢迎答案,这可以说明为什么会出现这种情况......