網域查詢: www.
返回首頁

HttpModule和HttpHandler的一個小問題的解決

時間:2010-02-13 00:35來源: 作者: 點擊:
設計一個HttpHandler的時候發生了怎麼都無法訪問或者設置Session的問題︰ //代碼是在網吧手動敲打,錯別字請別在意,意思明確即可 public class HttpHandlerTest : System.Web.IHttpHandler { public void
  設計一個HttpHandler的時候發生了怎麼都無法訪問或者設置Session的問題︰
//代碼是在網吧手動敲打,錯別字請別在意,意思明確即可
public class HttpHandlerTest : System.Web.IHttpHandler
{
    public void ProcessRequest(System.Web.HttpContext context)
    {
        Response.Write(context.Session.SessionID.ToString());
    }
}
調試發現連SessionID都無法獲取,提示沒有該對象的實例。難道這時HttpSession還沒有啟動(實例化)?
花了幾個小時查詢MSDN中Http管線鏈的全部流程里的事件,一個個測試,發現都無法訪問Session對象,有點奇怪,查詢HttpSessionState同一命名空間下的對象,發現有一個接口︰IRequireSessionState,提示這是一個無具體方法定義的接口,但是實現這個接口便可以訪問HttpSessionState對象了。測試一下,成功!
public class HttpHandlerTest : System.Web.IHttpHandler , System.Web.HttpSessionState.IRequireSessionState
{
    public void ProcessRequest(System.Web.HttpContext context)
    {
        Response.Write(context.Session.SessionID.ToString());
    }
}

一切OK!
頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
最新評論 查看所有評論
發表評論 查看所有評論
請自覺遵守互聯網相關的政策法規,嚴禁發佈色情、暴力、反動的言論。
評價:
表情:
用戶名: 密碼: 驗證碼:
推薦內容