我刚刚将网站从旧的 win 2000 服务器升级到新的 win 2008 64 位服务器。
此网站通过 XML 数据的 POST 接受来自桌面应用程序的图像上传,其中图像以 base64 编码为其中一个 xml 元素。接收 POST 数据的页面是 Classic ASP。
自从移至新服务器后,只有小图像可以成功上传。
允许的最大内容长度设置为 30000000 字节。所以我应该能够 POST 不到 30MB 的内容。
我无法 POST 大约 1mb 及更大的任何编码图像的 xml。
在服务器端加载 XML 时发生错误(使用 VB dll 时会发生这种情况)。
旧的 win 2000 服务器上从来不存在大文件大小的问题,并且此代码没有改变。
我收到的错误是:
未指定错误
错误代码 : -2147467259
文件位置 : 262165
行 : 3541
行位置 : 56
源文本 : cvr92x0lnpkUw/0gfuvKqXTYYptY8+3q74Jhls7eSfHnfunql4J026mu
URL :
因此看起来 POST 在 XML 中间的某处被切断了。
关于在 IIS 中设置最大允许内容长度有什么想法吗 - 我在 IIS 的“请求过滤”下为站点设置了该长度。
答案1
POST 错误是立即发生还是在指定的时间后发生?我认为您需要添加“maxRequestLength”,尝试将其添加到 web.config 中的“system.web”中 -
<system.web><httpRuntime executionTimeout="999999" maxRequestLength="2097151"
答案2
IIS7 默认上传上限为 28.61MB。您必须打开此文件:
C:\Windows\System32\inetsrv\config\applicationHost.config
在该<requestFiltering>
部分中添加以下内容:
<requestLimits maxAllowedContentLength=”[length in bytes]” />
例如,对于 100MB,您可以将其设置为 104857600。
答案3
可能是您的 IIS 配置存在问题,仍未更改为允许较大负载;)请检查 web.config 中的所有相关设置。