Sha*_*vii 10 asp.net session-state global-asax
我正在尝试在我的global.asax中访问每个请求(页面,文档,PDF等)的会话状态.我知道我不能在Application_BeginRequest中做到这一点,我认为我可以在Application_AcquireRequestState中,但它不会工作,这很奇怪,因为它适用于另一个项目.
所以,我正在寻找一个事件,我总是可以访问每个请求的会话状态.
谢谢
编辑:@Mike
我试过这样做
Sub Application_PreRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs)
Session("test") = "test"
End Sub
Run Code Online (Sandbox Code Playgroud)
但我仍然得到错误,因为我无法访问会话状态.
Mik*_*ike 15
会话在Application_AcquireRequestState期间加载.您可以安全地建立Application_PreRequestHandlerExecute并访问它.
更新:并非每个请求都有会话状态.你还需要检查null : if (System.Web.HttpContext.Current.Session != null).
最初的Request不会Session与之相关.因此,你需要检查Session是不是null:
var session = HttpContext.Current.Session;
if(session != null) {
/* ... do stuff ... */
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15747 次 |
| 最近记录: |