我有一個MVC 2的Web應用程序,即將發佈。到現在爲止,我已經關閉了自定義錯誤,但是我希望他們在生產準備就緒時能夠正常工作。使用MVC2的HandleErrorInfo - 模型爲null?
我已經建立了我的web.config有以下幾點:
<customErrors mode="On" defaultRedirect="/Error/">
<error statusCode="404" redirect="/Error/NotFound "/>
</customErrors>
404一個完美的作品,並NOTFOUND是直接映射到一個視圖,只是顯示一個非常標準的404頁,用我的行動自己的Site.Master文件。
對於404以外的任何內容,我希望用戶能夠查看異常詳細信息。 (這是一個內部應用程序,這樣做沒有安全風險)。
Error
默認操作Index
設置爲返回我已經定義的View()。我無法弄清楚的是如何將異常信息傳遞給View?
這看起來前途無量:
http://devstuffs.wordpress.com/2010/12/12/how-to-use-customerrors-in-asp-net-mvc-2/
但是當我使用與查看:
<%@ Page Title="" Language="C#"
MasterPageFile="~/Views/Shared/Bootstrap.Master"
Inherits="System.Web.Mvc.ViewPage<System.Web.Mvc.HandleErrorInfo>" %>
錯誤頁面本身拋出一個錯誤,因爲HandleErrorInfo爲空。顯然,自定義錯誤中的一個錯誤會導致MVC2出現很多問題,其結果是黃色的死亡屏幕。
我猜想我錯過了博客中的某些關鍵字,或者它沒有解釋如何讓HandleErrorInfo成爲除null之外的任何內容,而無需爲每個控制器/操作設置Error屬性。
此外,我知道MVC3處理這個更好,我知道剃刀是非常好的。它沒有被用於這個項目,也不會改變這個項目來使用它。所以請不要使用「使用MVC3」的答案。