Ответ 1
Попробуйте вот так:
protected void Application_Error()
{
var exception = Server.GetLastError();
// TODO: Log the exception or something
Response.Clear();
Server.ClearError();
var routeData = new RouteData();
routeData.Values["controller"] = "Home";
routeData.Values["action"] = "ErrorPage";
Response.StatusCode = 500;
IController controller = new HomeController();
var rc = new RequestContext(new HttpContextWrapper(Context), routeData);
controller.Execute(rc);
}