微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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对象相同的引用吗?

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

原文地址:https://www.jb51.cc/aspnet/250140.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐