我相信我已經建立了我們的MVC應用程序使用[HandleError]
正常。這是我的控制器:ASP.NET MVC的HandleError不工作(的customErrors設置爲「開」)
[HandleError]
public class SupportController : BaseController {
public ActionResult Toss() {
throw new Exception("uh oh");
}
// snip
}
我已經設置我customErrors
標籤在web.config
爲「開」:
<customErrors mode="On"></customErrors>
不過,我仍然得到死亡的黃色屏幕上的異常。在我的Toss()
操作中設置一個斷點表明HttpContext.IsCustomErrorEnabled
爲設置爲true。
我們沒有對View Engine做任何事情,BaseController
也沒有混淆任何事情(和其他控制器沒有擴展它有同樣的問題)。
當應用程序部署到服務器2003箱我開發在Windows XP,和有同樣的問題(IIS 6)。
我不認爲存在error.aspx
頁面上的例外:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<System.Web.Mvc.HandleErrorInfo>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="errorContent" ContentPlaceHolderID="MainContent" runat="server">
<h2>
Sorry, an error occurred while processing your request.
</h2>
</asp:Content>
一兩件事,可能不同的是,這個應用程序創建回來時,MVC測試版是最新版本,並升格爲RC,然後RTM發佈。可能有從那裏遺留下來的一些奇怪的設置?
我能得到這個工作的其他應用程序,所以我有點狼狽。
是〜\ Views \ Support或〜\ Views \ Shared中的error.aspx頁面嗎? – Talljoe 2009-06-15 23:00:52
〜\ Views \ Shared - 甚至嘗試過[HandleError(View =「〜/ Views/Shared/Error.aspx」)](did not work) – swilliams 2009-06-15 23:16:40