Asp.net-Mvc

“抱歉,處理您的請求時出錯”的直接原因和來源是什麼?資訊?

  • November 9, 2019

很多關於 ASP.Net MVC 錯誤“抱歉,處理您的請求時發生錯誤”的查詢。不幸的是,我找不到任何真正討論實際發生的事情。可以理解的是,他們關注的是潛在的錯誤,而不是消息的直接來源和原因。因此,這些解決方案對同一問題給出了廣泛不同的答案。

這裡有一些例子:

根據我研究的許多答案中的堆棧跟踪數據,看來這可能是在System.Web.Mvc.ControllerActionInvoke類中觸發的。通常,這似乎是執行 ActionResult 方法中未處理錯誤的直接結果。

我想了解消息中的“處理您的請求”一詞。根據我看到錯誤顯示的方式,這似乎不太可能是指 HTTP 請求。也許在 MVC 架構中有更細粒度的東西?有人可以更清楚地了解此消息的來源以及原因嗎?

開箱即用的 ASP.Net MVC 應用程序的預設錯誤處理將錯誤重定向到 Error.aspx 共享視圖。您將在 Error.aspx 文件中找到“抱歉,處理您的請求時發生錯誤”消息文本。該消息不是從 .Net 類生成的。

以下 SO 問題讓我明白了: ASP.NET MVC HandleError not working (customErrors is set to “On”)

要查看有關潛在錯誤的更多詳細資訊,您有幾個選項。

  • 自定義預設 Error.aspx 頁面以顯示有關基礎錯誤的詳細資訊。
  • 關閉 web.config 文件中的 CustomErrors。未來的錯誤應該顯示預設的 ASP.Net“黃屏”錯誤詳細資訊,而不是“抱歉,發生錯誤消息”。
  • 在關聯的 ActionResult 方法中專門處理錯誤。

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