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

前端之家收集整理的这篇文章主要介绍了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对象相同的引用吗?

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

猜你在找的asp.Net相关文章