2012-10-01 66 views
8

我在頁面上有一個簡單的ASP.Net文件上傳控制。我有以下web.config設置ASP .Net File Upload最大請求長度超出錯誤

<system.webServer> 
     <security> 
     <requestFiltering> 
     <requestLimits maxAllowedContentLength="524288000" /> 
     </requestFiltering> 
    </security> 
</system.webServer> 

    <system.web> 
     <httpRuntime maxRequestLength="524288" executionTimeout="120000" /> 
    </system.web> 

我在我的開發箱上使用IIS 7.5和Web服務器上的IIS 7。

如果我上傳大小爲7MB的文件,它工作正常。

但是當我上傳文件,該文件是10MB,它會拋出以下異常

我有一個頁面上的一個簡單的ASP.NET文件上傳控件。我有以下web.config設置

Exception Details: System.Web.HttpException: Maximum request length exceeded. 

Stack Trace:  

[HttpException (0x80004005): Maximum request length exceeded.] 
    System.Web.HttpRequest.GetEntireRawContent() +8772610 
    System.Web.HttpRequest.GetMultipartContent() +62 
    System.Web.HttpRequest.FillInFormCollection() +168 
    System.Web.HttpRequest.get_Form() +68 
    System.Web.TraceContext.InitRequest() +910 
    System.Web.TraceContext.VerifyStart() +143 
    System.Web.HttpApplication.AssignContext(HttpContext context) +118 
    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +464 

任何幫助將高度讚賞。我知道這個問題已被多次提出,但這些解決方案都不適合我。

我們正在使用Sitecore內容管理系統。

+0

你應該檢查文件的大小,如果控制。否則,您將收到錯誤消息,或者您將在web.config中爲其設置錯誤頁面。 – Kadir

+0

我確實檢查過文件大小,但即使在頁面加載回發之前,我也會收到此錯誤。我試圖在開始請求時在Global.asax文件中放置斷點,但在此之前甚至失敗。 – Neil

回答

4

我終於得到了解決。在我們使用Sitecore時,我們將頁面作爲特定路徑上的內容樹上的項目。現在我們也有一些舊的頁面駐留在文件系統上。駐留在文件系統上的這些頁面具有其自己的本地web.config文件,該文件的maxrequest長度有限。此設置在上傳大文件時產生了問題。

感謝大家的幫助。

6

您的maxRequestLength設置爲512 MB,過大。嘗試將其設置爲12MB。

如果是窒息的IIS,請嘗試將其設置爲非應用程序級別;改爲在文件夾中創建一個Web.Config。

點擊此處瞭解詳情:

http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx

+0

我已將maxRequestLength設置爲524288 KiloBytes,它是512MB。有什麼問題嗎? – Neil

+0

我的不好。但是,將其設置爲12 MB等較小的內容,然後查看是否可以修復它。 – IrishChieftain

相關問題