调试Session_OnEnd

时间:2009-12-17 01:14:21

标签: asp.net session session-timeout

我在Global.asax中的Session_OnEnd内放置了断点,当我尝试调试时,似乎ASP.NET应用程序永远不会停止,我错过了什么?但我调试Session_OnStart

2 个答案:

答案 0 :(得分:1)

首先尝试在session_OnEnd中添加一些虚拟代码。

将web.config中的会话超时设置为一分钟。这应该有用。

编辑:

等待一分钟,断点就会被击中。

答案 1 :(得分:0)

首先,当应用程序停止时不会发生Session_OnEnd事件,它会在会话结束时发生。

默认情况下,会话在用户请求最后一页后20分钟结束。如果你等了那么久,你可能会看到断点被击中。 (事件在不同于常规页面的环境中执行,因此我不确定调试器是否能够在那里找到断点。)

当用户关闭浏览器窗口时会话结束这是一个相当普遍的误解,但事实是服务器完全没有意识到浏览器窗口被关闭。服务器只知道所请求的页面,它无法知道页面是否仍然在浏览器中显示。