平台: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中添加了这个:
在machine.config中:在system.web中,更改了:
至:
并在MetaBase.xml中:已更改:
AspMaxRequestEntityAllowed="204800"
至:
AspMaxRequestEntityAllowed="200000000"
上传失败时,我从IIS收到404错误.我的Web表单没有开始处理,或者至少它没有进入Page_Load事件.我在该处理程序的开头抛出异常,并且它根本不在大文件上执行.
使用较小的文件一切正常(我已经测试了大约5.5MB).我不确定文件大小是什么限制,但我知道我的限制需要高于150MB,因为这不是客户端需要上传的最大文件.
有人可以帮忙吗?
Urlscan在所有网站上都有效,并且拥有自己的请求实体长度限制.我不知道Urlscan是在我们的服务器上运行的,因为它是一个全局ISAPI过滤器,不在我的个人网站上运行.
注意:要查找全局ISAPI筛选器,请右键单击IIS Admin中的"Web站点"文件夹,然后单击"属性",再单击"ISAPI筛选器"选项卡上的"属性".