2010-12-14 38 views
5

在我的ASP.NET 4.0应用程序中,我有一个用于Global.asax.cs中的PreRequestHandlerExecute的事件处理程序。PreRequestHandlerExecute中的会话为空

我想访问会话中的数据。大多数时候,会话都是定义的,但有时它是空的。有人可以在初始化时解释我,什么时候不是?

回答

4

默认情况下,不会为每种类型的请求加载会话。如果请求是针对内容文件(如图像或样式表),则会话不会被加载。这样做是为了减少处理请求的开销。如果在通用处理程序(.ashx)中工作并且想要访问会话,则让处理程序实现IRequiresSessionState。

+0

你的意思是IRequiresSessionState还是那种不同的东西? – Foole 2011-12-01 04:45:16

+0

是的,我总是得到一个转身。 – 2011-12-02 13:33:54