在会话开始期间,可以访问Request对象。 Session End怎么样,它仍然可以访问Request对象吗?例如,我想计算当前连接到我的应用程序的浏览器数量。
编辑1:如果Session End无权访问Request Object,它可以访问哪些信息?会话ID等?
编辑2:如果会话结束不能用于跟踪断开连接,那么如何跟踪ASP.Net中的断开连接?
由于
答案 0 :(得分:1)
不,Request对象在Session End中不可用。
另请注意,Session End仅在您从代码调用Session.Abandon()时触发,而不是在Session因自然超时或您拥有的内容而过期时触发。因此,它不是用于跟踪断开连接的可靠方法。
答案 1 :(得分:1)
如果使用InProc,将触发Session_End。
会话_End将被解雇 1)n分钟不活动(n =超时值),或 2)如果有人调用Session.Abandon()
如果关闭浏览器,Session_End不会被触发。
Session_End需要设置会话状态。
如果需要原始的Request.Browser数据,则应将其保存在会话状态中。
在Session_End期间,它可以访问会话状态。
答案 2 :(得分:0)
Session_OnEnd 事件发生在 会话被放弃或超时。的 Server内置对象,只有 应用程序对象,服务器对象和 会话对象对象可用。
<强>说明强>
您无法调用Server.MapPath Session_OnEnd脚本中的方法。通过 默认情况下,Session_OnEnd作为 匿名用户,定义为 应用。如果那里 不是匿名用户,也不是登录 对于匿名用户失败, 不会调用OnEnd函数,并且 将记录一个事件。