簡體   English   中英

如何配置IIS來處理真正大的文件上傳?

[英]How do I configure IIS to handle really large file uploads?

平台: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,因為這不是客戶端需要上傳的最大文件。

有人可以幫忙嗎?

Urlscan在所有網站上都有效,並且擁有自己的請求實體長度限制。 我不知道Urlscan是在我們的服務器上運行的,因為它是一個全局ISAPI過濾器,不在我的個人網站上運行。

注意:要查找全局ISAPI篩選器,請右鍵單擊IIS Admin中的“Web站點”文件夾,然后單擊“屬性”,再單擊“ISAPI篩選器”選項卡上的“屬性”。

(針對googlers的說明):

對於IIS7,請在下面添加到web.config(我在<system.serviceModel>上面添加):

<system.webServer>
        <security>
            <requestFiltering><requestLimits maxAllowedContentLength="262144000" /></requestFiltering> <!-- maxAllowedContentLength is in bytes. Defaults to 30,000,000 -->
        </security>
</system.webServer>

當我們遇到這個問題時,我們不得不根據這篇知識庫文章增加緩沖區大小限制: http//support.microsoft.com/kb/944886/en-us

我知道這提到了ASP,但我相信它也適用於ASP.NET。

編輯:以下鏈接可能與您的問題更相關,並提供其他選項:
http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx

404並缺少Page_Load:IIS只能在服務器上完成POST后處理請求。 因此,如果POST失敗(由於其大小),它無法觸發頁面的事件。

您可以嘗試NeatUpload http://www.brettle.com/neatupload 從手冊:“默認情況下,NeatUpload不會直接限制上傳的大小。”

你說:

但1536000只有1.5MB?

您還可以嘗試Velodoc XP Edition ,它比NeatUpload有幾個優點,包括它使用ASP.NET Ajax擴展。 有關更多信息,另請參閱Velodoc網站

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM