Если мы используем этот стандартный маршрут:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
и в Windows 2008 IIS7 с настройкой MVC 2 мы идем сюда:
"http://www.mywebsite.com/SomePageThatDoesNotExist.aspx"
и затем в методе Application_Error мы имеем это:
protected void Application_Error(object sender, EventArgs e)
{
Response.Clear();
RouteData routeData = new RouteData();
routeData.Values.Add("controller", "Error");
routeData.Values.Add("action", "Index");
Server.ClearError();
IController errorController = new ErrorController();
errorController.Execute(new RequestContext(
new HttpContextWrapper(Context), routeData));
}
Вместо того, чтобы получить маршрут и ожидаемую страницу, мы получаем неприятную страницу ошибки 404 Server. Любая идея, как захватить ошибки URL и направить их на страницу по нашему выбору?