.Net“/”應用程式中的伺服器錯誤 超過了最大請求長度 錯誤解決辦法

xiangchengboy發表於2011-02-14

錯誤如下:

 

 

錯誤提示: 說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆疊跟蹤資訊,以瞭解有關該錯誤以及程式碼中導致錯誤的出處的詳細資訊。

異常詳細資訊: System.Web.HttpException: 超過了最大請求長度。

源錯誤:

 

執行當前 Web 請求期間生成了未處理的異常。可以使用下面的異常堆疊跟蹤資訊確定有關異常原因和發生位置的資訊。

堆疊跟蹤:
。。。。。。。。。。。。

解決辦法:

測試上傳檔案程式碼,預設ASP。NET允許最大一次上傳2M大小的檔案,我在自己的伺服器上傳一個網易泡泡的安裝程式POPO.exe檔案時候產生這個錯誤。

參考文章:

Asp.net中,上傳檔案的預設大小是4096 KB,也就是4M,不過你可以在Web.config中更改這個資料。

<system.web>
<!-- 增加上傳檔案限制為8M -->     
                <httpRuntime maxRequestLength="8192" useFullyQualifiedRedirectUrl="true" executionTimeout="100"/>

<!-- 或增加上傳檔案限制為1G

<httpRuntime   maxRequestLength="1048576"   executionTimeout="3600"   />

 -->     
</system.web>

     那麼此時就是8M的檔案,當然你也可以把它修改的更大,但是不管改成多大都會有個極限,如果使用者上傳的檔案比這個值大,就會出現程式Catch不到的異常,因為這個是在執行時才能夠監測。

     通常更常用的的方法是直接修改C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/CONFIG目錄下的 machine.config檔案(Framework版本會不同,你用什麼版本就進什麼版本的目錄),查詢httpruntime在這一行將 maxRequestLength的值改為理想的值,比如想要8M,就輸入8192。這樣,你的任何一個web工程都可以上傳最大8M的檔案。

     不使用第三方元件而僅使用.net自帶的功能的話,好像10M已經是實際上的峰值了。

相關文章