在自定義HttpHandler中使用Session

2021-06-16 14:41:41 字數 796 閱讀 2021

最近需要做乙個對特定請求進行響應的介面,只是在內部處理,不存在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了。

在自定義HttpHandler中使用Session

最近需要做乙個對特定請求進行響應的介面,只是在內部處理,不存在ui,機於這種情況,當然是使用實現ihttphandler來進行處理,可以減掉載入html 控制項的時間。本來都是這樣想的,對於ihttphandler 中定義了兩個方法,processrequest httpcontext ctx 和 ...

理解並自定義HttpHandler

前言 本文有些地方會跟 asp.net管道模型 管線模型 之一發不可收拾 有些重疊,但角度會有所不同,兩篇文章相互補充,希望能完整地呈現管道模型的全貌。目錄 1.傳送default.aspx時預設得到相應httphandler的過程 2.如何配置 3.自定義httphandler 4.自定義http...

理解並自定義HttpHandler

前言 本文有些地方會跟 asp.net管道模型 管線模型 之一發不可收拾 有些重疊,但角度會有所不同,兩篇文章相互補充,希望能完整地呈現管道模型的全貌。目錄 1.傳送default.aspx時預設得到相應httphandler的過程 2.如何配置 3.自定義httphandler 4.自定義http...