我最早什么时候可以访问 global.asax 中的一些会话数据?
我想检查会话是否在我的 global.asax 中包含一些键/值数据。 我不确定最早可能的时间(和方法名称)是什么时候来检查这一点。
谢谢 :)
i want to check if the Session contains some key/value data, in my global.asax. I'm not sure when the earliest possible time (and method name) is, to check this.
thanks :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我一直相信
Application_AcquireRequestState
是 Global.asax 中第一个可以访问当前会话的事件。 它绝对不是Application_BeginRequest
。I always believed
Application_AcquireRequestState
was the first event in Global.asax that could access the current session. It's definitely notApplication_BeginRequest
.MSDN 随意提到会话状态已获取在 Application_PostAcquireRequestState 事件期间。 我希望在生命周期概述页面上重述这一点。
您可以访问的最新会话状态位于 Application_PostRequestHandlerExecute 中,因为它由 SessionStateModule 在下一个事件 Application_ReleaseRequestState。
MSDN casually mentions that the session state is acquired during Application_PostAcquireRequestState event. I wish it was restated at the Life Cycle Overview page.
The latest you can access session state is in Application_PostRequestHandlerExecute, as it is saved by SessionStateModule during the next event Application_ReleaseRequestState.
您需要使用
BeginRequest
(http://msdn.microsoft.com/en-us/library/system.web.httpapplication.beginrequest.aspx),因为它是在HttpApplication
对象上触发的第一个事件( Global.asax 继承的)。您将在此处看到有关 ASP.NET 应用程序生命周期的更多信息 - http:// msdn.microsoft.com/en-us/library/ms178473.aspx(适用于 IIS 5 和 IIS 6)。
You need to use
BeginRequest
(http://msdn.microsoft.com/en-us/library/system.web.httpapplication.beginrequest.aspx) as it is the first event fired on theHttpApplication
object (which the Global.asax inherits).You'll see more about the ASP.NET Application Lifecycle here - http://msdn.microsoft.com/en-us/library/ms178473.aspx (this is for IIS 5 & IIS 6).
根据链接文本,global.asax 中您可以访问会话对象的最早事件是当 global.asax 触发 Session_Start 事件时
According to link text, the earliest events in global.asax that you can access session objects is when global.asax fires Session_Start event