asp.net – “HttpContext.Current.Session”vs Global.asax“this.Session”

最近,在工作的ASP.NET项目的一些代码工作.我们需要一个跟踪工具来获取用户活动的基本指标(页面点数等),我们将在 Session中跟踪它们,然后通过 Global.asax的Session_End将数据保存到DB中.

我开始黑客走了,初始代码工作正常,更新每个页面上的DB加载.我想删除每个请求上的这个DB命中,只需依靠Session_End来存储所有的数据.

所有跟踪代码都封装在Tracker类中,包括基本上包装Session变量的属性.

问题是当我在Session_End方法中执行Tracker.Log()时,跟踪代码中的HttpContext.Current.SessionNullReferenceException失败.现在,这是有道理的,因为HttpContext始终与当前请求相关,当然在Session_End中没有要求

我知道Global.asax有一个Session属性,返回一个HttpSessionState,实际上似乎工作正常(我最终将其注入到跟踪器中)..

但是我很好奇,可以从Global.asax外面获得与Global.asax使用的HttpSessionState对象相同的引用吗?

先谢谢你们,我很感激你的意见.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...