namespace FineUIPro.Mobile { using BLL; using Model; using System; using System.Configuration; using System.Globalization; using System.Text; public class Global : System.Web.HttpApplication { /// /// 自动启用插件标志文件路径 /// //private static string applicationActiveFlagFilePhysicalPath = String.Empty; protected void Application_Start(object sender, EventArgs e) { Application["OnlineUserCount"] = 0; try { //Funs.RootPath = Server.MapPath("~/").Replace("Mobile","Web"); Funs.RootPath = ConfigurationManager.AppSettings["localRoot"]; // 日志文件所在目录 ErrLogInfo.DefaultErrLogFullPath = Server.MapPath("~/ErrLog.txt"); Funs.ConnString = ConfigurationManager.AppSettings["ConnectionString"]; Funs.SystemName = ConfigurationManager.AppSettings["SystemName"]; Funs.SGGLUrl = ConfigurationManager.AppSettings["SGGLUrl"]; Funs.MobileWebUrl = ConfigurationManager.AppSettings["MobileWebUrl"]; } catch (Exception ex) { ErrLogInfo.WriteLog(string.Empty, ex); //AppDomain.Unload(AppDomain.CurrentDomain); } } protected void Session_Start(object sender, EventArgs e) { Session.Timeout = 60; // 这种统计在线人数的做法会有一定的误差 Application.Lock(); Application["OnlineUserCount"] = (int)Application["OnlineUserCount"] + 1; Application.UnLock(); } protected void Application_BeginRequest(object sender, EventArgs e) { } protected void Application_AuthenticateRequest(object sender, EventArgs e) { } protected void Application_Error(object sender, EventArgs e) { StringBuilder errLog = null; Exception ex = null; using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { Sys_ErrLogInfo newErr = new Sys_ErrLogInfo { ErrLogId = SQLHelper.GetNewID() }; try { // 获取错误类 ex = Server.GetLastError().InnerException; if (ex == null) { ex = Server.GetLastError().GetBaseException(); } errLog = new StringBuilder(); errLog.Append(String.Format(CultureInfo.InvariantCulture, "出错文件:{0}\r\n", Request.Url.AbsoluteUri)); newErr.ErrUrl = Request.Url.AbsoluteUri; if (Request.UserHostAddress != null) { errLog.Append(String.Format(CultureInfo.InvariantCulture, "IP地址:{0}\r\n", Request.UserHostAddress)); newErr.ErrIP = Request.UserHostAddress; } if (Session != null && Session["CurrUser"] != null) { errLog.Append(String.Format(CultureInfo.InvariantCulture, "操作人员:{0}\r\n", ((Model.Person_Persons)Session["CurrUser"]).PersonName)); newErr.UserName = ((Model.Person_Persons)Session["CurrUser"]).PersonId; } else { PageBase.PageRefresh(Request.ApplicationPath + "/LogOff.aspx"); } } catch { try { PageBase.PageRefresh(Request.ApplicationPath + "/LogOff.aspx"); } catch { } } finally { if (errLog != null) { db.Sys_ErrLogInfo.InsertOnSubmit(newErr); db.SubmitChanges(); } ErrLogInfo.WriteLog(newErr.ErrLogId, ex, errLog == null ? null : errLog.ToString()); Server.ClearError(); PageBase.PageRefresh(Request.ApplicationPath + "/LogOff.aspx"); } } } /// /// 缓存结束 /// /// /// protected void Session_End(object sender, EventArgs e) { } /// /// 活动结束 /// /// /// protected void Application_End(object sender, EventArgs e) { } } }