ASP.NET中的兩個Cookie類:HttpCookie類與Cookie類

來源:互聯網
上載者:User

 

System.Web.HttpCookie類,對應集合類System.Web.HttpCookieCollection類

System.Net.Cookie類,對應集合類System.Net.CookieCollection類

區別:

System.Web.HttpCookie是伺服器端通過http請求從用戶端擷取的Cookie(伺服器端用)

System.Net.Cookie是表示用戶端程式通過http響應接收到的Cookie(用戶端程式用)

屬性差別:

屬性

System.Web.HttpCookie類

System.Net.Cookie類(用戶端程式用)

建構函式

初始化 HttpCookie 類的新執行個體。

根據Netscape規範初始化 Cookie類的新執行個體。通常,應用程式無需構造Cookie 類,因為該類會基於通過HTTP響應接收的 Set-Cookie標題自動建立。

Comment

擷取或設定伺服器可添加到Cookie中的注釋

CommentUri

擷取或設定伺服器可通過Cookie來提供的URI注釋

Discard

擷取或設定由伺服器設定的丟棄標誌

Domain

擷取或設定將此Cookie與其關聯的域

擷取或設定Cookie對其有效URI

Expired

擷取或設定Cookie的到期狀態(返回ture|false:到期|沒到期)

Expires

擷取或設定此Cookie的到期日期和時間(返回DateTime)

擷取或設定Cookie的到期日期和時間(返回DateTime)(預設MinValue,會話Cookie)

HasKeys

Cookie是否具有子鍵(擷取,true|false)

HttpOnly

指定Cookie是否可通過用戶端指令碼訪問(擷取或設定,true|false)

Item

擷取HttpCookie.Values屬性的捷徑(為與老ASP版本相容)

Name

擷取或設定Cookie名

擷取或設定Cookie名

Path

擷取或設定要與當前Cookie一起傳輸的虛擬路徑

擷取或設定Cookie適用於的URI

Port

擷取或設定Cookie適用於的TCP連接埠的列表

Secure

擷取或設定一個值,該值指示是否使用安全通訊端層SSL(即僅通過HTTPS)傳輸Cookie

擷取或設定Cookie的安全層級

TimeStamp

擷取Cookie作為DateTime發出的時間

Value

擷取或設定單個Cookie的值

擷取或設定Cookie值

Values

擷取單個Cookie對象所包含的索引值對的集合

Version

擷取或設定Cookie的HTTP狀態維護版本

目前有以下幾種Cookie規範:

Netscape cookie草案:是最早的cookie規範,基於rfc2109。儘管這個規範與rc2109有較大的差別,但是很多伺服器都與之相容。

rfc2109, 是w3c發布的第一個官方cookie規範。這個規範太嚴格了,以致很多伺服器不正確的實施了該規範或仍在使用Netscape規範。

rfc2965,規範定義了cookie版本2,並說明了cookie版本1的不足。

推算區別:

(1)System.Web.HttpCookie 類:最初設計考慮是WEB伺服器用的,由於微軟的WEB伺服器並沒有遵循rfc2109 \rfc2965 規範。而是採用的 Netscape cookie草案方案。

同時為了兼顧以前ASP的一些編碼習慣,於是就有了這個類這樣的設計。

如:遍曆System.Web.HttpCookieCollection,會有如下的寫法:

foreach (string name in Request.Cookies)

{

    info += string.Format("{0} = {1} \r\n ", name, Request.Cookies[name].Value);

}

而foreach(HttpCookie cookie in Request.Cookies)會出錯

(2)System.Net.Cookie 類:最初設計考慮主要是用戶端使用的,由於考慮到有些伺服器的Cookie 是遵循rfc2109 \rfc2965規範,所以這個類的設計多了那些屬性

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.