using System;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;
using System.Web.SessionState;
using Jp.ApiCam.App_Start;
using Jp.ApiCam.Infrastructures;
using Pcb.Common;
using Pcb.Common.Enum;
using Pcb.Infrastructure.Ioc;
namespace Jp.ApiCam
{
// 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,
// 请访问 http://go.microsoft.com/?LinkId=9394801
///
///
///
public class MvcApplication : System.Web.HttpApplication
{
///
/// 构造函数
///
public override void Init()
{
EnableSession();
base.Init();
}
#region 启用session
void EnableSession()
{
PostAuthenticateRequest += MvcApplication_PostAuthenticateRequest;
}
private void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e)
{
HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required);
}
#endregion
///
///
///
protected void Application_Start()
{
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
WebApiFilterConfig.RegisterGlobalFilters(GlobalConfiguration.Configuration.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
var desc = GlobalConfiguration.Configuration.Services.GetApiExplorer().ApiDescriptions;
}
void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
var ex = Server.GetLastError();
LogHelper.Error("UnhandledException", (Exception)e.ExceptionObject);
AppResponseMessageHelper.Error(EnumApiStatusCode.Error, ConfigUtils.IsProductionEnvironment ? "服务器或网络异常" : ex.Message);
}
///
///
///
///
///
protected void Application_Error(object sender, EventArgs e)
{
var ex = Server.GetLastError();
LogHelper.Error("Application_Error", ex);
//System.IO.File.AppendAllText(Server.MapPath("./")+"log.txt",ex.StackTrace + "\r\n" + ex.Source + "\r\n" + ex.Message);
AppResponseMessageHelper.Error(EnumApiStatusCode.Error, ConfigUtils.IsProductionEnvironment ? "服务器或网络异常" : ex.Message);
}
///
///
///
protected void Application_BeginRequest()
{
}
///
///
///
protected void Application_EndRequest()
{
}
}
}