我正在尝试为每个请求(页面、文档、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/