程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 在自定義HttpHandler中使用Session

在自定義HttpHandler中使用Session

編輯:.NET實例教程


最近需要做一個對特定請求進行響應的接口,只是在內部處理,不存在UI,機於這種情況,當然是使用實現IHttpHandler來進行處理,可以減掉加載Html 控件的時間。本來都是這樣想的,對於IHttpHandler 中定義了兩個方法,ProcessRequest(HttpContext ctx) 和 IsRunable() 這兩個,看到在ProcessRequest(HttpContext ctx) 中有個HttpContext的輸入參數,本來以為通過這個就可以對所有的服務器對象進行使用,只是在前面需要對HttpContext的引用。不過問題出現了,在這個自定義HTTP 響應處理頭中需要寫入Session,對於其他Request和Response 都可以通過使用HttpContext來引用使用,不過Session 就是不行,總是出現對象未進行引用的錯誤,真是百思不得其解,好好的HTTPCONTEXT 裡面都列出了可以使用的服務器對象,但是就是SESSION 用不了!真苦,只好將自定義HTTPHANDLER 的內容做到普通的WEBFORM 中。就在做好後,卻無意中發現在自定義HTTPHANDLER 中使用SESSION 的方法!
1、先引用System.Web.SessionState 這個命名空間,
2、如果是要在HttpHandler 中讀取Session的內容,就要在實現IHttpHandler 的類中同時實現IReadOnlySessionState 這個接口。
3、如果是要在HttpHandler 中讀寫Session的內容,就要在實現IHttpHandler 的類中同時實現IRequiresSessionState

這樣就可以在自定義的HttpHandler 中正常的使用Session了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved