首页 > 代码库 > WebForm的Global.asax文件
WebForm的Global.asax文件
public class Global : System.Web.HttpApplication { /// Web应用程序第一次启动时调用该方法,并且该方法只被调用一次(就是部署到IIS上之后第一次启动这个程序的时候调用一次)。 protected void Application_Start(object sender, EventArgs e) { } /// 开始会话。(用户通过浏览器第一次访问我们网站中的某个页面,这时建立会话,但是当该用户通过浏览器再次访问其它的页面时,该方法不会被执行) /// (应用场景:统计网站在线人数,注意点就是,一定要把Application写到数据库) protected void Session_Start(object sender, EventArgs e) { // Application:服务端的状态保持机制。放在该对象中的数据是共享的,这点跟Cache一样,但是Application是要程序员手动加锁解锁,但是Cache不一样,内部微软都自动加锁解锁 Application.Lock(); int count = Convert.ToInt32(Application["count"]); count++; Application["count"] = count; Application.UnLock(); } protected void Application_BeginRequest(object sender, EventArgs e) { } protected void Application_AuthenticateRequest(object sender, EventArgs e) { } /// 全局的异常捕捉,在MVC中我们经常都是写一个BaseController,然后每个控制器都继承这个BaseController,然后都统一在BaseController这个控制器里面完成捕捉错误,然后写到log4net这个第三方框架上。但是在WebForm里面,我们要捕捉错误就在这个方法完成 protected void Application_Error(object sender, EventArgs e) { //1.0通过下面这个方法捕捉到错误 //Exception ex = HttpContext.Current.Server.GetLastError(); //2.0下面就跟MVC一样,把错误ex.Message写到Log4Net上 } /// 会话结束(应用场景:统计网站在线人数,注意点就是,一定要把Application写到数据库) protected void Session_End(object sender, EventArgs e) { Application.Lock(); int count = Convert.ToInt32(Application["count"]); count--; Application["count"] = count; Application.UnLock(); } protected void Application_End(object sender, EventArgs e) { } }
WebForm的Global.asax文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。