我当前所吃的东东都固定为食物,所以一点也不惊讶,这一周的主题为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(域名):获得或设置与cookie有关的域名,可用于限制特定区域的cookie访问。 Expires(期限):获得或设置cookie的终止日期和时间,你可以将其设置为一个过去的日期以自动终止或者删除cookie。 Names(名称):获得或设置cookie名称。 Path(路径):获得或设置cookie的虚拟路径。这一属性允许你限制cookie范围,也就是说,访问cookie只能限制于一个特定的文件夹或者路径。设置这一属性限制为只能访问特定路径和该路径下的所有文件。 Secure(安全):发信号以表示是否使用Secure Sockets Layer (SSL)来发送cookie值。 Value(值):获得或设置一个单独的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,并赋予当前日期和时间的值。同样的,cookie终止期限设置为一个星期,相关的范围为populated。一旦建立对象,通过Response.Cookies对象的Add方法就可以将对象添加到客户端的cookies集合。HttpCookie构造函数中的方法有两种: 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循环来访问。以下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中相应的代码如下:
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 稳定也是一个观点 在一个cookie中存储关键信息被认为是一种低级的程序设计,因为这些信息很容易被泄露,原因是这些信息位于客户机器的一个文件中。在这一点,一种方法就是使用SSL,这是一种可以避免敏感信息的更好方法。
我可以使用cookies吗?
If Request.Browser.Cookies = True Then ' 使用cookies Else '没有cookie支持 End If
可以联合代码来使用cookie值。以下C#代码段对cookie支持进行了测试,并相应地将结果显示在一个文本框: 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事件。 保存数据的另一方式
|
温馨提示:喜欢本站的话,请收藏一下本站!