【发布时间】:2010-11-13 08:24:46
【问题描述】:
我有一些基本代码来确定我的 MVC 应用程序中的错误。目前在我的项目中,我有一个名为Error 的控制器,其操作方法为HTTPError404()、HTTPError500() 和General()。它们都接受字符串参数error。使用或修改下面的代码。
将数据传递给错误控制器进行处理的最佳/正确方法是什么?我希望有一个尽可能强大的解决方案。
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Response.Clear();
HttpException httpException = exception as HttpException;
if (httpException != null)
{
RouteData routeData = new RouteData();
routeData.Values.Add("controller", "Error");
switch (httpException.GetHttpCode())
{
case 404:
// page not found
routeData.Values.Add("action", "HttpError404");
break;
case 500:
// server error
routeData.Values.Add("action", "HttpError500");
break;
default:
routeData.Values.Add("action", "General");
break;
}
routeData.Values.Add("error", exception);
// clear error on server
Server.ClearError();
// at this point how to properly pass route data to error controller?
}
}
【问题讨论】:
标签: c# asp.net asp.net-mvc error-handling user-experience