IHttpHandler中捕獲Session
頭上的烏雲終於散去了,看來真是不能閉門造車啊,經朋友的提醒,我心中太陽也出來了,這幾天做的對特定請求進行響應的接口,只是在內部處理,不存在UI,機於這種情況,當然是使用實現IHttpHandler來進行處理,可以減掉加載HTML 控件的時間。本來都是這樣想的,對於IHttpHandler 中定義了兩個方法,ProcessRequest(HttpContext ctx) 和 IsRunable() 這兩個,看到在ProcessRequest(HttpContext ctx) 中有個HttpContext的輸入參數,本來以爲通過這個就可以對所有的服務器對象進行使用,只是在前面需要對HttpContext的引用。不過問題出現了,在這個自定義HTTP 響應處理頭中需要寫入Session,對於其他Request和Response 都可以通過使用HttpContext來引用使用,不過Session 就是不行,總是出現對象未進行引用的錯誤,真是百思不得其解,好好的HTTPCONTEXT 裏面都列出了可以使用的服務器對象,但是就是SESSION 用不了!真苦,只好將自定義HTTPHANDLER 的內容做到HTTPMODULE塊中。就在做好後,卻無意中發現在自定義HTTPHANDLER 中使用SESSION 的方法!
1、先引用System.Web.SessionState 這個命名空間,
2、如果是要在HttpHandler 中讀取Session的內容,就要在實現IHttpHandler 的類中同時實現IReadOnlySessionState 這個接口。
3、如果是要在HttpHandler 中讀寫Session的內容,就要在實現IHttpHandler 的類中同時實現IRequiresSessionState
1、先引用System.Web.SessionState 這個命名空間,
2、如果是要在HttpHandler 中讀取Session的內容,就要在實現IHttpHandler 的類中同時實現IReadOnlySessionState 這個接口。
3、如果是要在HttpHandler 中讀寫Session的內容,就要在實現IHttpHandler 的類中同時實現IRequiresSessionState
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.