我是ASP.NET MVC3的新手。我將如何爲MVC3創建全局自定義錯誤頁面?總體思路是,當拋出異常時,它會向用戶顯示一條通用消息,並將異常記錄到數據庫供開發人員稍後調查。如何爲ASP.NET MVC3創建全局自定義錯誤頁面?
在此先感謝您的幫助。
這裏是我落得這樣做在的global.asax.cs:
protected void Application_Error()
{
var exception = Server.GetLastError();
Log.Error("Exception", exception);
var httpException = exception as HttpException;
Response.Clear();
Server.ClearError();
var routeData = new RouteData();
routeData.Values["controller"] = "Error";
routeData.Values["action"] = "General";
routeData.Values["exception"] = exception;
Response.StatusCode = 500;
if (httpException != null)
{
Response.StatusCode = httpException.GetHttpCode();
switch (Response.StatusCode)
{
case 403:
routeData.Values["action"] = "Http403";
break;
case 404:
routeData.Values["action"] = "Http404";
break;
}
}
IController errorsController = new ErrorController();
var rc = new RequestContext(new HttpContextWrapper(Context), routeData);
errorsController.Execute(rc);
}
好一點,但只會處理unhanded異常或HTTP錯誤像404,500等 – Maess 2012-04-20 13:33:33
@Maess:我已經添加了一些更具體的信息 – Ropstah 2012-04-20 13:34:46