Dot-Net

ASP.NET - 上傳大文件時如何顯示錯誤頁面(超出最大請求長度)?

  • August 25, 2011

應用程序能夠在 OnError 中記錄錯誤,但我們無法進行任何重定向或向使用者顯示有意義的內容。有任何想法嗎?我知道我們可以在 web.config 中設置 maxRequestLength,但是無論如何使用者可以超過這個限制並且需要顯示一些正常的錯誤。

正如您所說,您可以在 web.config 中設置 maxRequestLength(覆蓋您的 machine.config 的預設 4MB),如果超出此限制,您通常會收到 HTTP 401.1 錯誤。

為了在應用程序級別處理通用 HTTP 錯誤,您可以在 system.web 部分的 web.config 中設置 CustomError 部分:

<system.web>
  <customErrors mode=On defaultRedirect=yourCustomErrorPage.aspx />
</system.web>

每次顯示錯誤時,使用者都會被重定向到您的自定義錯誤頁面。

如果您想為每個錯誤提供一個專門的頁面,您可以執行以下操作:

<system.web>    
  <customErrors mode="On" defaultRedirect="yourCustomErrorPage.aspx">
    <error statusCode="404" redirect="PageNotFound.aspx" />
  </customErrors>
</system.web>

等等。

或者,您可以從 IIS 編輯虛擬目錄屬性的 CustomErrors 選項卡,以指向您選擇的錯誤處理頁面。

上述內容似乎不適用於 401.x 錯誤 - 這篇程式碼項目文章解釋了一個似乎非常相似的問題的解決方法:重定向到自定義 401 頁面

引用自:https://stackoverflow.com/questions/126167