0

我有一个需要存储在会话中的对象。

在每个请求开始时,我将对象复制到 HttpContext.Current.Items 集合,以便在请求期间可以重用它。

在请求期间,对象的状态是可以修改的,所以我需要将它写回会话中,以便它可以用于下一个请求。

我尝试通过 HttpApplication.EndRequest 事件处理程序更新它,但我发现此时 HttpContext.Current.Session 为空。

HttpApplication 中是否有另一个事件处理程序在处理请求后发生,但我仍然可以在其中访问 HttpContext.Current.Session?

4

1 回答 1

0

该会话可从HttpApplication.PostRequestHandlerExecute事件中获得,根据文档:

“在 ASP.NET 事件处理程序(例如,页面或 XML Web 服务)完成执行时发生。”

此页面有助于理解 HttpApplication 事件的顺序:

http://blog.dotnetclr.com/archive/2007/03/14/HttpApplication-pipeline-demystified.aspx

于 2012-06-27T16:18:22.487 回答