Я несколько дней бился головой об это, никуда не деться.Я хочу иметь обработчик ошибок всех перехватов, который перенаправляет на контроллер, который отображает аккуратную страницу для пользователя, а также делает соответствующие журналы и тому подобное.
Дело в том, что локально все работает нормально, но когда я загружаю в Azure, я получаю стандартные страницы ошибок.
Кажется, что Azure не выполняет перенаправление и игнорирует глобальныетакже обработчик в global.asax.
Я не включил здесь код для контроллера ошибок, так как кажется, что я никогда не захожу так далеко.
Web.Config:
<customErrors mode="On" defaultRedirect="/error" redirectMode="ResponseRewrite"></customErrors>
Запись маршрута:
routes.MapRoute("Error", "error/{*fluff}", new { controller = "Error", action = "Index", exception = new HttpException(404,"Direct call to controller") });
Из global.asax:
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));
}