asp.net Global.asax中Session_End不能执行问题最终解释与调试结果
2007-05-16 00:33
267 查看
首先,我写这篇文章是想让一些朋友少走弯路。我经过两天不断测试得回来的结果,也请朋友尊重我,如果你觉得我写的是错的,请尽量去做测试,做测试完后再来评论。
测试环境:VS2003 Windows2003SP2 IIS6.0
因为一个Web项目要用到Session_End来善后,在网上找了Session_End的相关文章,可谓众说纷纭。有的说有BUG;有的说是服务器内部机制锁定不能执行;有的说是SP2补丁的问题;有的提了一些观点,对一些,错一些。经过几天反复调试,得出结论如下:
1.Session.SessionID的变化:
可以显式的为一个Session赋值,或者在Global.asax文件中添加Session_OnStart事件来解决。(参考了一些文章,证明这些朋友是正确的)
2.Session_End,Session_OnEnd事件过程不执行?
1.首先声明一点,Session_OnEnd事件在Session自动超时后怎样都不执行,既然这样Session.Abandon我也就没测试了,因为既然自动超时不执行那就没什么价值了。
2.Session_End在Session过期或者Abandon后可以马上执行,不执行绝对是因为你的程序有错误,请仔细检查程序,最好的办法是将要执行的过程放在某个测试页面DEBUG。
3.InProc模式
3.Session_End执行时还可以访问Session的值吗?
答案是"可以"。反复测试后,感觉Session_End和WinForm关闭窗口的Closing事件差不多,在未完全运行完该过程时,是可以访问值的。有些朋友看Session_End取字面意以为就是End了,这是错误的。
4.Session_End中不能运行哪些方法?
Request,Server.MapPath
其它的暂未发现
测试环境:VS2003 Windows2003SP2 IIS6.0
因为一个Web项目要用到Session_End来善后,在网上找了Session_End的相关文章,可谓众说纷纭。有的说有BUG;有的说是服务器内部机制锁定不能执行;有的说是SP2补丁的问题;有的提了一些观点,对一些,错一些。经过几天反复调试,得出结论如下:
1.Session.SessionID的变化:
可以显式的为一个Session赋值,或者在Global.asax文件中添加Session_OnStart事件来解决。(参考了一些文章,证明这些朋友是正确的)
2.Session_End,Session_OnEnd事件过程不执行?
1.首先声明一点,Session_OnEnd事件在Session自动超时后怎样都不执行,既然这样Session.Abandon我也就没测试了,因为既然自动超时不执行那就没什么价值了。
2.Session_End在Session过期或者Abandon后可以马上执行,不执行绝对是因为你的程序有错误,请仔细检查程序,最好的办法是将要执行的过程放在某个测试页面DEBUG。
3.InProc模式
3.Session_End执行时还可以访问Session的值吗?
答案是"可以"。反复测试后,感觉Session_End和WinForm关闭窗口的Closing事件差不多,在未完全运行完该过程时,是可以访问值的。有些朋友看Session_End取字面意以为就是End了,这是错误的。
4.Session_End中不能运行哪些方法?
Request,Server.MapPath
其它的暂未发现
相关文章推荐
- java调试打断点和不打断点执行结果不一致问题解决
- 运动估计IP核在ML403中执行的结果不一样,经过一个星期的调试,问题初步得到解决。
- 在web页面上放了一些服务器按钮,在各个按钮的单击事件中都有代码!可不知道哪里出问题了,怎么操作都不能触发这些事件,好象代码一点都不执行!根本没办法调试!请高手指点一二!谢谢!
- 问题:webservice浏览后 无法输入参数;结果:调试Web Service时不能输入参数的解决办法
- delphi ocx在IE8下调试不能断点的问题
- 第十四周实践项目-阅读并运行程序,解释程序执行得到的结果(1)
- 在调试时不能print变量值问题
- 关于部分Nunit不能单步执行的问题
- 第14周项目:阅读并运行程序,解释程序执行得到的结果(1)
- 解决调试JDK源码时,不能查看变量的值问题
- 解决在vc调试代码结束时候,不能把控制台黑屏目退出的问题
- 解决在vc调试代码结束时候,不能把控制台黑屏目退出的问题
- 解决linux系统不能使用方向键执行命令的问题
- vs2008不能调试问题
- 不能对存储过程进行单步调试的问题解决方法
- 不能对存储过程进行单步调试的问题解决方法
- VS2005不能进入断点调试, 注册表问题
- 解决.bin文件不能执行的问题
- crontab 不能执行问题解决方法
- dev_C++ 不能调试问题解决