我一直在我的头撞这几天没有得到任何地方。我想有一个捕获所有的错误处理程序,重定向到一个控制器,它向用户显示一个整洁的页面,并执行相关的日志记录等。asp.net mvc azure - 麻烦customErrors
事情是,一切工作在本地很好,但是当我上传到天青,我得到的是标准的错误页面。
好像azure不执行重定向,并忽略global.asax中的全局处理程序。
我没有在这里包含错误控制器的代码,因为它似乎我从来没有那么远。
的Web.Config:
<customErrors mode="On" defaultRedirect="/error" redirectMode="ResponseRewrite"></customErrors>
路线项:从Global.asax的
routes.MapRoute("Error", "error/{*fluff}", new { controller = "Error", action = "Index", exception = new HttpException(404,"Direct call to controller") });
:
protected void Application_Error(object sender, EventArgs e)
{
var routeData = new RouteData();
routeData.Values["controller"] = "Error";
routeData.Values["action"] = "index";
routeData.Values["exception"] = Server.GetLastError();
Response.Clear();
Server.ClearError();
IController controller = new ErrorController();
controller.Execute(new RequestContext(new HttpContextWrapper(((MvcApplication)sender).Context), routeData));
}
有一个简单的拼写错误,它的 “Reponse.TrySkipIisCustomErrors”。但这是一个很好的解决方案,并且像魅力一样工作,谢谢! – TonyQ