2019-10-13 19:57:48 +08:00

74 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Http;
using System.Web.Security;
using System.Web.SessionState;
using log4net.Config;
using ShadowEditor.Server.Base;
using ShadowEditor.Server.Helpers;
namespace ShadowEditor.Client
{
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
// 开启Web Api
GlobalConfiguration.Configure(WebApiConfig.Register);
// 初始化log4net配置
XmlConfigurator.Configure();
// 记录系统启动日志
var log = LogHelper.GetLogger(this.GetType());
log.Info("Application start successfully!");
}
protected void Session_Start(object sender, EventArgs e)
{
}
protected void Application_BeginRequest(object sender, EventArgs e)
{
}
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
// 为api controller开启session
HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required);
}
protected void Application_Error(object sender, EventArgs e)
{
var exception = Server.GetLastError().GetBaseException();
var builder = new StringBuilder();
builder.Append($"Time: {DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}\n");
builder.Append($"Url: {Request.Url.ToString()}\n");
builder.Append($"Message: {exception.Message}\n");
builder.Append($"StackTrace: {exception.StackTrace}\n");
builder.Append($"Source: {exception.Source}\n");
// Server.ClearError();
var log = LogHelper.GetLogger(this.GetType());
log.Error(builder.ToString());
}
protected void Session_End(object sender, EventArgs e)
{
}
protected void Application_End(object sender, EventArgs e)
{
}
}
}