我们设置了三个相同的测试环境。在每种环境中,我们都有一个应用程序,当您点击提交按钮时,它会从表单中获取文本并将其转换为 XML,然后将其发送到 WCF 以插入到我们的 Oracle 数据库(版本 11g)中。每个应用程序都有一个相同的 app.config(除了特定于服务器的配置键:)<add key="FolderPath" value="\\[server name]\Folder"/>
,它具有maxReceivedMessageSize="65536"
.
这是问题所在,在一个环境中,当我尝试提交 XML 时,我得到了每个人都会得到的错误:Maximum message size quota for incoming messages(65536) has been exceeded
,但在其他两个环境中,当我提交完全相同的XML 时它工作得很好。我一生都无法弄清楚为什么会发生这种情况。
这是我已经按照我尝试过的顺序尝试过的内容:
- 在 IIS 中停止并启动此应用程序的 WCF 的 appPool。
- 在 IIS 中刷新了此应用程序的 WCF 的站点。
- 重新启动了此应用程序的 WCF 所在的服务器。
- 尝试以 XML 形式提交各种大小的数据。
- 从 IIS 中删除站点并重新部署 WCF。
- 部署后再次重新启动服务器。
现在,增加maxReceivedMessageSize
确实解决了这个问题,我只是想知道为什么我不必在其他环境中这样做。