0

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

4

2 回答 2

1

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

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

编辑:

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

于 2009-12-17T01:20:18.243 回答
0

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

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

当用户关闭浏览器窗口时会话结束是一个相当普遍的误解,但事实是服务器根本不知道浏览器窗口正在关闭。服务器只知道请求的页面,它无法知道页面是否仍然显示在浏览器中。

于 2009-12-17T01:23:05.993 回答