websitepanel/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Global.asax.cs
2015-01-10 06:00:59 -08:00

52 lines
No EOL
1.8 KiB
C#

using System;
using System.Web;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
using WebsitePanel.WebDavPortal.Controllers;
using WebsitePanel.WebDavPortal.DependencyInjection;
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);
DependencyResolver.SetResolver(new NinjectDependecyResolver());
log4net.Config.XmlConfigurator.Configure();
}
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();
}
}
}