Request.Cookies創建的Cookie只能用於后台不能用於HTML的前台
Response.Cookies操作過的Cookie,所有方法獲取到的都是被更新過的值,也就是說Response.Cookies是修改所有容器中的Cookie的值;
總結:
Request.Cookies:主要是用於獲取所有Cookie值的,包括JS、Request.Cookies和Response??.Cookies三種方法創建的Cookie值;說到這里,大家可以看出Request.Cookies既可以獲取Cookie也可以創建Cookie,那么它創建的Cookie與Response和JS創建的Cookie有什么不用呢,通過實驗發現,通過Request.Cookies創建的Cookie只有?Request.Cookies才能獲取到,而其他兩種方法是不能獲取的,也就是說Request.Cookies創建的Cookie只能用於.Net后台不能用於HTML的前台。
Response.Cookies:主要用於Cookie的創建、賦值和刪除操作,經過?Response.Cookies操作過的Cookie,所有方法獲取到的都是被更新過的值,也就是說Response.Cookies是修改所有容器中的Cookie的值;Response.Cookies除了是Cookie的終極修改者外,我們在寫代碼的時候可能會發現通過Response.Cookies也可以得到部分Cookie的值,通過實驗發現,此處獲取的Cookie值只是本次會話中且是通過Response.Cookies創建的Cookie,基本上沒什么用處。
Request.Cookies 是客戶端通過 Cookie 標頭形式由客戶端傳輸到服務器的 Cookie;
Response.Cookies 在服務器上創建並以 Set-Cookie 標頭的形式傳輸到客戶端。也就是說,一個是客戶端向服務器端發送的來的,一個是服務器發送到客戶端的。
Request.Cookies
包含一套cookie,無論是該瀏覽器發送到服務器和那些你在服務器上剛剛創建。Response.Cookies
包含服務器將發回的Cookie。 此集合開始是空的,應該改變來修改瀏覽器的cookie。 狀態: ASP.NET包括兩個內在的cookie 集合。訪問的集合 通過Cookies集合 的HttpRequest包含cookie 由客戶端端所發送的 在Cookie頭服務器。該 收集通過訪問 HttpResponse對象的Cookies集合 包含有關創建新的cookies 服務器和發送到客戶端 在Set-Cookie頭。 當你添加一個cookie的 HttpResponse.Cookies集合中, Cookie是在可用 HttpRequest.Cookies集合,甚至 如果響應沒有被發送到 客戶端端。 您的優先個代碼示例應該工作,如果你做的for
循環運行倒退。 新的cookie會結束后添加的,所以向后循環會忽略它們。
本文標題 :之間HttpContext.Request.Cookies和HttpContext.Response.Cookies關系