asp.net - 可以访问 session 状态的 Global.asax 事件

标签 asp.net session-state global-asax

我正在尝试为每个请求(页面、文档、PDF 等)访问我的 global.asax 中的 session 状态。我知道我不能在 Application_BeginRequest 中做到这一点,我认为我可以在 Application_AcquireRequestState 中做到这一点,但它不起作用,这很奇怪,因为它在另一个项目中有效。

因此,我正在寻找一个事件,在该事件中,我始终可以访问每个请求的 session 状态。

谢谢

编辑:@Mike

我试过这样做

Sub Application_PreRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs)
    Session("test") = "test"
End Sub

但是我仍然收到错误,因为我无权访问 session 状态。

最佳答案

session 在 Application_AcquireRequestState 期间加载。您的安全赌注是构建 Application_PreRequestHandlerExecute并在那里访问它。

更新:并非每个请求都有 session 状态。您还需要检查空值:if (System.Web.HttpContext.Current.Session != null) .

关于asp.net - 可以访问 session 状态的 Global.asax 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9897112/

相关文章:

PHP session 在 SSL 上重置

c# - Global.asax 没有捕获到错误?

asp.net-mvc - 在 MVC 上的 Application_BeginRequest 中重定向

c# - RequestInterceptor 和 MessageInspector 有什么区别?

asp.net - 我不断收到 "' MsAjaxBundle' 不是有效的脚本名称。该名称必须以 '.js' 结尾。 “在尝试构建我的项目时

asp.net-mvc - ASP.NET MVC session 状态

ruby-on-rails - 阻止设备在成功注册后自动创建 session

c# - 自定义错误消息未在 ASP.NET MVC 4 中翻译

c# - 业务应用程序 : Will F# make my life easy?

c# - 如何从结果中读取每个 xml 节点