我做了个测试:声明一个用户类 class User,目的是用该类来记录用户登陆时的一些信息(在不同网页之间调用)类属性之一 private static string user_name= " "
是用来记录用户登陆时的用户名;在Global.asax的Application_Start()事件里声明一个User类,并用该类清除类静态变量private static string user_name;在Application_End()事件里也同样做了类似的工作,目的是关闭网页时清楚用户的登陆信息,这样可以避免非法用户登陆,但实际上当我第一次登陆之后并关闭网页再重新打开该网页时,发现用户的登陆信息并没有被删除,也就是说当关闭网页时,根本就不触发Application_End()事件,我到网上搜了下,有的人说只有当IIS关闭重启时才会触发Application_End()事件,这重说法是否正确呢?如果是这样的话,那我们能不能在关闭网页的同时,人为地触发Application_End()事件呢?希望各位高手指点一二,谢谢大家的参与.
------解决方案--------------------------------------------------------
当IIS关闭重启时才会触发Application_End()事件,这种说法完全正确!
LZ 可以把 Application_End() 内执行的代码使用 Session_End 事件中,因为 Session_End 才是页面级的事件,关闭页面时会触发该事件!
有时间多读读 MSDN 吧,里面讲的很详细!