我一直在尋找一些方法來使用ELMaH與ASP.Net MVC,以便我可以使用自定義錯誤頁面的所有例外,包括404s。這種方法使用ELMaH與MVC的氣味?
有no shortagequestionsasking如何讓/Shared/Error.aspx在ASP.Net MVC中正常工作 - 無論是否帶有ELMaH。我沒有遇到任何問題,但我覺得我的解決方案與ELMaH一起使用自定義404頁面太簡單了,我不能動搖應該有更多的感覺。
Web.Config中實現的customErrors後,我在HomeController中創建了一個新動作:
public ActionResult PageNotFound()
{
return null;
}
從那裏我在Global.asax文件中增加了一個新的方法來利用ELMAH日誌過濾功能和優勢,讓異常記錄到日誌中,重定向響應返回給上述PageNotFound
的ActionResult後:
public void errorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
if (e.Exception.GetType().Equals(typeof(HttpException)))
{
HttpException ex = (HttpException)e.Exception;
if (ex.GetHttpCode() == 404)
Response.Redirect("/Home/PageNotFound");
}
}
我俯瞰的東西,在默認情況下自帶的MVC(因爲我仍然在尋找我的方式進行了大量的T關於MVC的關注),還是在存在更簡單的解決方案的情況下解決問題?欣賞任何輸入。
有返回沒有實際的看法。我只是讓用戶進入默認的/Shared/Error.aspx頁面。 – 2010-02-08 06:04:05