|
13
|
| Rob Cooper · 技术社区 · 17 年前 |
|
|
1
18
为了更好地回答原来的问题: 出身背景
每一个页面请求都会产生一个新的页面
这个新创建并膨胀的对象被卡在
您对
自从
你的回答
我的回答
不要使用
|
|
2
11
Global.asax实现了HttpApplication,这就是您在呼叫时所说的内容 这 的MSDN文档 HttpApplication 详细介绍了如何在HttpHandler中获取它,然后访问它的各种属性。 然而 您的应用程序可以创建多个HttpApplication实例来处理并行请求,并且这些实例可以重复使用,因此以某种方式获取它并不能保证您拥有正确的实例。
|
|
|
3
4
我想您已经回答了自己的问题:通常Global.asax和HttpContext.Current.Session中的Session属性是相同的(如果存在当前请求)。但是在会话超时的情况下,没有活动请求,因此不能使用HttpContext.Current。 如果要从session_End调用的方法访问会话,请将其作为参数传递。使用Log()方法创建一个重载版本,该方法将HttpSessionState作为参数,然后从会话结束事件处理程序调用Tracker.Log(this.Session)。
|
|
|
4
3
这个
使用
|
|
|
5
0
-掸 |
|
6
0
|
|
|
7
-1
请记住,会话结束时,会话将在没有活动的情况下超时。浏览器不会发起该事件(因为它处于非活动状态),因此只有在使用InProc提供程序时才能真正获得该事件。在其他所有提供程序中,此事件永远不会触发。 道德的不要使用会话结束。 |