2010-12-14 61 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