平台:IIS 6、ASP.Net 2.0 (.Net 3.5)、Server 2003。
我正在构建一个应用程序,它接受来自用户的文件、处理它们并返回结果。该文件使用 HTTP POST 上传到 ASP.Net Web 表单。该应用程序需要一些大文件(数百 MB)。
我正在使用 SWFUpload 通过一个不错的进度条完成上传,但这并没有导致问题,因为当我使用指向我的上传接受页面的标准 HTML 表单绕过它时,我得到了完全相同的错误。使用进度条时,上传继续到 100%,然后失败。使用标准形式,行为似乎是相同的。
我现在上传一个大约 150MB 的文件时遇到问题。我已经更改了我能找到的所有设置,但仍然没有运气。
以下是我到目前为止所做更改的摘要:
在 Web.config 中:在 system.web 中添加了这个:
<httpRuntime executionTimeout="3600" maxRequestLength="1536000"/>
在 machine.config 中:在 system.web 中,更改:
<processModel autoConfig="true" />
到:
<processModel autoConfig="true" responseDeadlockInterval="00:30:00" responseRestartDeadlockInterval="00:30:00" />
并在 MetaBase.xml 中:更改:
AspMaxRequestEntityAllowed="204800"
到:
AspMaxRequestEntityAllowed="200000000"
上传失败时,我从 IIS 收到 404 错误。我的 Web 表单没有开始处理,或者至少没有进入 Page_Load 事件。我在该处理程序的开头抛出了一个异常,它根本不会在大文件上执行。
一切都适用于较小的文件(我已经测试了大约 5.5MB)。我不确定文件大小的限制是多少,但我知道我的限制需要高于 150MB,因为这不是客户端需要上传的最大文件。
任何人都可以帮忙吗?