如何配置IIS来处理真正的大文件上传? [英] How do I configure IIS to handle really large file uploads?
问题描述
平台:IIS 6,ASP.Net 2.0(.NET 3.5),Server 2003中
Platform: IIS 6, ASP.Net 2.0 (.Net 3.5), Server 2003.
我建立了从用户接受文件,对其进行处理,并返回结果的应用程序。该文件是使用HTTP POST到一个ASP.Net Web表单上传。该应用程序是期待一些大的文件(数百MB)。
I'm building an application that accepts files from a user, processes them, and returns a result. The file is uploaded using HTTP POST to an ASP.Net web form. The application is expecting some large files (hundreds of MB).
我使用SWFUpload的完成一个漂亮的进度条上传,但是这无助于问题的,因为当我使用的是标准的HTML表单指着我上传的承兑人页面绕过它,我得到确切同样的错误。当使用进度条,上传继续到100%,然后将失败。用一个标准的形式中,该行为似乎是相同的。
I'm using SWFUpload to accomplish the upload with a nice progress bar, but that's not contributing to the issue, because when I bypass it using a standard HTML form pointing at my upload accepter page, I get the exact same error. When using the progress bar, the upload continues to 100%, then fails. With a standard form, the behavior appears to be the same.
我有一个问题,现在上传一个文件,该文件是关于150MB。我已经改变了所有的设置,我可以找到,但仍没有运气。
I'm having a problem right now uploading a file that's about 150MB. I've changed every settings I can find, but still no luck.
下面是一个什么样我到目前为止已经改变了总结:
Here's a summary of what I've changed so far:
在Web.config文件:
增加了这里面的System.Web:
In Web.config: Added this inside system.web:
<httpRuntime executionTimeout="3600" maxRequestLength="1536000"/>
在machine.config中:
内部的System.Web,改变了:
In machine.config: Inside system.web, changed:
<processModel autoConfig="true" />
到
<processModel autoConfig="true" responseDeadlockInterval="00:30:00" responseRestartDeadlockInterval="00:30:00" />
和MetaBase.xml中:
更改:
and in MetaBase.xml: Changed:
AspMaxRequestEntityAllowed="204800"
到
AspMaxRequestEntityAllowed="200000000"
当上传失败,我从IIS 404错误。我的网页形式不开始处理,或至少,它不会使它的Page_Load事件。我在该处理程序的开头抛出异常,它不会对大文件的所有执行。
When the upload fails, I get a 404 error from IIS. My web form does not begin processing, or at least, it doesn't make it to the Page_Load event. I threw an exception at the beginning of that handler, and it doesn't execute at all on large files.
一切工作正常使用较小的文件,(我测试过了约5.5MB)。我不完全知道什么文件大小限制,但我知道我的极限应该大于150MB更高,因为这不是客户需要上传的最大文件。
Everything works fine with smaller files (I've tested up to about 5.5MB). I'm not exactly sure what file size is the limit, but I know that my limit needs to be higher than 150MB, since this is not the largest file that the client will need to upload.
谁能帮助?
推荐答案
URLSCAN是在所有网站上活跃,有它自己的请求的实体长度的限制。我不知道这是URLSCAN我们的服务器上运行,因为它是一个全球性的ISAPI筛选器,在我的个人网站没有运行。
Urlscan was active on all websites, and has it's own request entity length limit. I wasn't aware that Urlscan was running on our server because it was a global ISAPI filter, not running on my individual website.
请注意:查找全局ISAPI筛选器,右键点击IIS管理网站文件夹,然后单击属性,那么ISAPI筛选器选项卡上。
Note: to locate global ISAPI filters, right click on the Web Sites folder in IIS Admin and click Properties, then on the ISAPI Filters tab.
这篇关于如何配置IIS来处理真正的大文件上传?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!