using System; using System.Web; using System.Web.Mvc; using System.Web.Optimization; using System.Web.Routing; using WebsitePanel.WebDavPortal.Controllers; namespace WebsitePanel.WebDavPortal { public class MvcApplication : HttpApplication { protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } protected void Application_Error(object sender, EventArgs e) { Exception lastError = Server.GetLastError(); Server.ClearError(); int statusCode; if (lastError.GetType() == typeof (HttpException)) statusCode = ((HttpException) lastError).GetHttpCode(); else statusCode = 500; var contextWrapper = new HttpContextWrapper(Context); var routeData = new RouteData(); routeData.Values.Add("controller", "Error"); routeData.Values.Add("action", "Index"); routeData.Values.Add("statusCode", statusCode); routeData.Values.Add("exception", lastError); routeData.Values.Add("isAjaxRequet", contextWrapper.Request.IsAjaxRequest()); IController controller = new ErrorController(); var requestContext = new RequestContext(contextWrapper, routeData); controller.Execute(requestContext); Response.End(); } } }