我在Global.asax中的Session_OnEnd
内放置了断点,当我尝试调试时,似乎ASP.NET应用程序永远不会停止,我错过了什么?但我调试Session_OnStart
。
答案 0 :(得分:1)
首先尝试在session_OnEnd中添加一些虚拟代码。
将web.config中的会话超时设置为一分钟。这应该有用。
编辑:
等待一分钟,断点就会被击中。
答案 1 :(得分:0)
首先,当应用程序停止时不会发生Session_OnEnd事件,它会在会话结束时发生。
默认情况下,会话在用户请求最后一页后20分钟结束。如果你等了那么久,你可能会看到断点被击中。 (事件在不同于常规页面的环境中执行,因此我不确定调试器是否能够在那里找到断点。)
当用户关闭浏览器窗口时会话结束这是一个相当普遍的误解,但事实是服务器完全没有意识到浏览器窗口被关闭。服务器只知道所请求的页面,它无法知道页面是否仍然在浏览器中显示。