以前asp.net只是在使用Session來進行用戶會話時的信息存儲,甚至不多留意Session完整的類調用是HttpContext.Current.Sessoin....html
好吧,我仍是處於只會固定寫法的超級小菜....瀏覽器
以前偶然看到bbsmax的代碼中使用HttpContext.Current.Items來存儲當前用戶ID,以前便模仿着寫着身份驗證,因而乎 今天遇到問題,須要完全瞭解一下這個HttpContext.Current.Items首先,HttpContext.Current.Items的用 途受到嚴重限制,它只做用於單獨的一個用戶請求(HttpContext.Current.Items valid for a single HTTPRequest)。完成這個請求,服務器信息傳回瀏覽器的時候,這個Item集合將丟失。而Session對象是針對用戶的本次會話,也就是做用 於多個用戶請求,在Session失效後才丟失其中的信息。既然HttpContext.Current.Items的生命週期如此之短,那在什麼狀況下 能夠加以利用呢。winform的checkedlistbox使用指南服務器
這裏指出,HttpContext.Current.Items 能夠在 HttpModule 和 HTTPHandler 之間共享數據時使用,由於每次用戶請求都要經過HTTP 運行時管道HttpModule 、HTTPHandler 。當你實現IHttpMoudle的方法來經過HttpMoudle向用戶請求傳遞信息。以下圖所示:asp.net
你能夠用HttpContext.Current.Items 在不一樣請求頁,不一樣的HttpModule中傳輸數據,可是一旦請求結束,數據回發,這個集合中的數據將本身丟失。post