HttpContext請求上下文物件

2021-09-12 02:14:07 字數 2758 閱讀 3576

httpcontext的生命週期從伺服器接收的http請求開始到反應傳送回客戶端結束。

在webform或類庫(包括mvc)專案中,通過current靜態屬性,就能夠獲得httpcontext的物件。

httpcontext context = httpcontext.current;
如果是在asp.net mvc的controller中,通過this.httpcontext;就能獲取到httpcontextbase物件。

如果是在mvc檢視中可以這樣得到:

@html.viewcontext.httpcontext
在mvc中是httpcontextbase在webform中是httpcontext另外,還有些地方有人可能會有些困惑,因為貌似httpcontext中有很多物件在page中也有,例如request,response,cache,session等等。它們之間有什麼關係呢?在這裡我們用session、request來進行說明。

新建乙個webform程式,輸入**如下:

protected

void

page_load

(object sender,

eventargs e)

輸出如下:

這用不著多說了,httpcontextpage裡的物件是同乙個物件。httpcontext之所以也可以獲取只是為了方便在類庫專案中輕易獲得這些請求物件。

httpcontext常用屬性:

名稱說明

cache

獲取當前應用程式域的 cache 物件。

current

為當前 http 請求獲取或設定 httpcontext 物件。

currenthandler

獲取表示當前正在執行的處理程式的 ihttphandler 物件。

handler

獲取或設定負責處理 http 請求的 ihttphandler 物件。

items

獲取可用於在 http 請求過程中在 ihttpmodule 介面和 ihttphandler 介面之間組織和共享資料的鍵/值集合。

previoushandler

獲取父處理程式的 ihttphandler 物件。

profile

獲取當前使用者配置檔案的 profilebase 物件。

request

為當前 http 請求獲取 httprequest 物件。

response

為當前 http 響應獲取 httpresponse 物件。

server

獲取提供用於處理 web 請求的方法的 httpserverutility 物件。

session

為當前 http 請求獲取 httpsessionstate 物件。

skipauthorization

獲取或設定乙個值,該值指定 urlauthorizationmodule 物件是否應跳過對當前請求的授權檢查。

timestamp

獲取當前 http 請求處理請求的時間點

對於以上這乙個類,寫不了什麼demo。因為全部都是返回物件,要深入研究asp.net,關鍵是要深入了解裡面返回的這些物件。

protected

void

page_load

(object sender,

eventargs e)

httpcontextcurrent屬性很重要,這個屬性讓你能夠在任何地方找到它。

如果希望提供一些靜態屬性,並且,只希望與一次請求關聯,那麼建議借助httpcontext.items的例項屬性來實現。

httpcontext常用方法:

名稱說明

adderror

將異常新增到當前 http 請求的異常集合中。

clearerror

清除當前 http 請求的所有錯誤。

getglobalresourceobject

已過載。 獲取應用程式級別的資源。

getlocalresourceobject

已過載。 獲取頁級別的資源。

getsection

獲取當前應用程式的預設配置的指定配置節。

remaphandler

用於為請求指定處理程式。

rewritepath

重寫路徑,以便後續的asp.net以為這是才是真正的位址。rewritepath用在無 cookie 會話狀態中。

示例:

public

actionresult

index()

flask請求鉤子 請求上下文

from flask import flask from flask import redirect,url for,abort 在第一次請求之前呼叫,可以在當前的方法中初始化操作 def before first request print before first request 在每一次請求之...

HttpContext的解釋意義

在.ashx中,我們httpcontext這個詞,到底是什麼意思?下面給大家說說 httpcontext 類 封裝有關個別 http 請求的所有 http 特定的資訊。在處理請求執行鏈的各個階段中,會有乙個物件在各個物件之間進行傳遞,也即會儲存請求的上下文資訊,這個物件就是httpcontext物件...

flask之請求上下文

第一階段 將ctx request,session 放到local物件上 第二階段 檢視函式匯入 request session request.method localproxy物件.method,執行getattr方法,getattr self.get current object name s...