我在 Global.asax 中设置了断点Session_OnEnd
,当我尝试调试时,似乎 ASP.NET 应用程序永远不会停止,我错过了什么吗?但我调试Session_OnStart
.
问问题
302 次
2 回答
1
首先尝试在 session_OnEnd 中添加一些虚拟代码。
例如,将 web.config 中的会话超时设置为一分钟。这应该有效。
编辑:
等待一分钟,断点就会被命中。
于 2009-12-17T01:20:18.243 回答
0
首先,Session_OnEnd 事件不会在应用程序停止时发生,它会在会话结束时发生。
默认情况下,会话在用户请求最后一页后 20 分钟结束。如果你等那么久,你可能会看到断点被击中。(该事件在与常规页面不同的环境中执行,因此我不确定调试器是否可以在那里捕获断点。)
当用户关闭浏览器窗口时会话结束是一个相当普遍的误解,但事实是服务器根本不知道浏览器窗口正在关闭。服务器只知道请求的页面,它无法知道页面是否仍然显示在浏览器中。
于 2009-12-17T01:23:05.993 回答