日期:2004-2-16 22:16:56 出處:統(tǒng)一教學(xué)網(wǎng) 作者:- | ||
我當(dāng)前所吃的東東都固定為食物,所以一點也不驚訝,這一周的主題為cookies。
傳遞cookies username @ Web site domain that created the cookie (用戶名稱@建立cookie的站點域名) .NET System.Web空間名稱包含三個類,你可以使用它們來處理客戶端的Cookies: HttpCookie:提供一個建立和操作獨立HTTP cookies的安全類型的方式。 HttpResponse:Cookies屬性允許客戶端cookies被操作。 HttpRequest:Cookies屬性允許訪問客戶端操作的cookies。 HttpResponse和HttpRequest對象的Cookies屬性將返回一個HttpCookieCollection對象,它包含著,將單獨的cookies添加到集合(collection)中,以及從集合(collection)獲得一個單獨的cookies。 HttpCookie類 Domain(域名):獲得或設(shè)置與cookie有關(guān)的域名,可用于限制特定區(qū)域的cookie訪問。 Expires(期限):獲得或設(shè)置cookie的終止日期和時間,你可以將其設(shè)置為一個過去的日期以自動終止或者刪除cookie。 Names(名稱):獲得或設(shè)置cookie名稱。 Path(路徑):獲得或設(shè)置cookie的虛擬路徑。這一屬性允許你限制cookie范圍,也就是說,訪問cookie只能限制于一個特定的文件夾或者路徑。設(shè)置這一屬性限制為只能訪問特定路徑和該路徑下的所有文件。 Secure(安全):發(fā)信號以表示是否使用Secure Sockets Layer (SSL)來發(fā)送cookie值。 Value(值):獲得或設(shè)置一個單獨的cookie值。 Values(信息):返回包含在cookie中的key/value的一個集合。 雖然這些還不是一個最詳盡的列表,但它提供了處理cookies所需要的東西。對于這些屬性的使用,以下VB.NET范例給予最好的理解: Dim testCookie As New HttpCookie("LastVisited") testCookie.Value = DateTime.Now.ToString testCookie.Expires = DateTime.Now.AddDays(7) testCookie.Domain = "builder.com" Response.Cookies.Add(testCookie) 這一代碼段建立了一個名為LastVisited的新的cookie,并賦予當(dāng)前日期和時間的值。同樣的,cookie終止期限設(shè)置為一個星期,相關(guān)的范圍為populated。一旦建立對象,通過Response.Cookies對象的Add方法就可以將對象添加到客戶端的cookies集合。HttpCookie構(gòu)造函數(shù)中的方法有兩種: HttpCookie objectName = New HttpCookie("cookieName") HttpCookie objectName = New HttpCookie("cookieName", "cookieValue") 同樣,Response對象包含一個SetCookie方法,這一方法可以接受一個HttpCookie對象。 我的cookie在哪里?
Response.Write(Request.Cookies("LastVisitied").Value)
除此之外,可以通過一個HttpCookieCollection對象訪問cookies的完整列表。這就使得cookie列表可以用一個for循環(huán)來訪問。以下C#代碼說明了這樣的例子: HttpCookieCollection cookies; HttpCookie oneCookie; cookies = Request.Cookies; string[] cookieArray = cookies.AllKeys; for (int i=0; I < cookieArray.Length; i++) { oneCookie = cookies[cookieArray[i]]; Response.Write(oneCookie.Name + " - " + oneCookie.Value); }
VB.NET中相應(yīng)的代碼如下:
Dim i As Integer Dim oneCookie As HttpCookie For i = 0 To Request.Cookies.Count - 1 oneCookie = Request.Cookies(i) Response.Write(oneCookie.Name + " - " + oneCookie.Value) Next I 穩(wěn)定也是一個觀點 在一個cookie中存儲關(guān)鍵信息被認(rèn)為是一種低級的程序設(shè)計,因為這些信息很容易被泄露,原因是這些信息位于客戶機器的一個文件中。在這一點,一種方法就是使用SSL,這是一種可以避免敏感信息的更好方法。
我可以使用cookies嗎?
If Request.Browser.Cookies = True Then ' 使用cookies Else '沒有cookie支持 End If
可以聯(lián)合代碼來使用cookie值。以下C#代碼段對cookie支持進(jìn)行了測試,并相應(yīng)地將結(jié)果顯示在一個文本框: if (Request.Browser.Cookies == true) { if (Request.Cookies["LastVisited1"] == null) { HttpCookie newCookie = new HttpCookie("LastVisited1",DateTime.Now.ToString()); newCookie.Expires = DateTime.Now.AddYears(1); Response.Cookies.Add(newCookie); this.txtName.Text = "Is this your first time?"; } else { this.txtName.Text = "We haven't seen you since " + Request.Cookies["LastVisited1"].Value; } }
你可以將這一代碼段添加到ASP.NET頁中的Page_Load事件。 保存數(shù)據(jù)的另一方式 |
只有注冊用戶登錄后才能發(fā)表評論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關(guān)文章:
|
||