我一直在我的頭撞這幾天沒有得到任何地方。我想有一個捕獲所有的錯誤處理程序,重定向到一個控制器,它向用戶顯示一個整潔的頁面,並執行相關的日誌記錄等。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