ASP.net揭秘笔记之六
跟踪用户会话
Cookie是如何起作用的:
Cookie在浏览器和服务器之间是通过Http Header来回传递。服务器首先在响应中使用Set-Cookie头部来创建一个cookie,从浏览器发出的后续请求就在Cookie头部中返回这个Cookie。
Set-Cookie:UserName=Bill+Gates;Path=/;domain=sina.com;expiress=Tuesday,01-jan-09 00:00:01 GMT
这样的Header指示浏览器添加一个条目到Cookie文件中。浏览器添加了一个名为UserName且值为BIll Gates的Cookie。
在服务器创建了Cookie后,浏览器在对Web站点访问发出的每个请求中返回Cookie。浏览器在头部中发送Cookie:
Cookie:UserName:Bill+Gates
创建和读取会话Cookie:
通过Response和Request的Cookies属性来创建和读取会话Cookie。
Exp:创建一个名为MyItem的会话Cookie:
dim objItem as New HttpCookie(“myItem“,"Test Create Cookie") '//创建一个名为myItem的Cookie。
Reponse.Cookies.Add(objItem) '//添加新的Cookie到Response的Cookies集合中。
这个例子创建的是会话Cookies,被加载到浏览器的内存中。当浏览器关闭的时候,该Cookie就从内存中被清除。
读取Cookie 可以访问Request对象的Cookies集合。
Exp:读取上面创建的myItem
Response.Write(Request.Cookies("myItem").Value)
Cookie只能包换字符串值。如果要在Cookie中保存整数值,那么就需要把这样的值转换成字符串。
循环遍历Request对象的Cookies集合
Dim strKey as string
For each strKey in Request.Cookies
Response.Write("<li>" & strKey &"=" & Request.Cookies(strKey).Value)
Next
创建和读取持久性Cookie
持久性Cookie和会话Cookie之间仅有的差异在于附加的过期数据。
Dim objCookie as New HttpCookie("myCookie","Hello World")
objCookie.Expiress=DateTime.Maxvalu '//#12/12/2009#
Response.Cookies.add(objCookie)
Cookie属性:
Domain---与Cookie关联的域名。如 sina.com、taobao.com
Expires---用于持久性Cookie的过期时间
HasKeys---一个表示Cookie是否一个Cookie字典的布尔值
Name---Cookie的名称
Path---与Cookie关联的路径。默认值为"/"
Secure---表示是否只能通过加密的连接来发送Cookie的值。默认值为False
Value---Cookie的值
Values---表示存储在Cookie字典中的所有键(key)和值(value)对的NameValueCollection
HasKeys属性可以检测一个Cookie是否为Cookie字典。Values属性可以从Cookie字典中读取Key和Value。
Exp:创建一个Cookie字典
dim objCookie as HttpCookie

objCookie=new HttpCookie("preferences")
objCookie.Values("Color")="red"
objCookie.Values("fontface")="Arial"
objCookie.Values("fontsize")="4"
Response.Cookies.add(objCookie)

'//使用Haskeys属性检测一个Cookie是否为Cookie字典,并且利用Values属性来每个条目
if objCookie.HasKeys then
dim strItem as string
for each strItem in objCookie.Values
Response.Write("<li>" & strItem & "=" & objCookie.Values(strItem))
next
end if
Cookie是如何起作用的:
Cookie在浏览器和服务器之间是通过Http Header来回传递。服务器首先在响应中使用Set-Cookie头部来创建一个cookie,从浏览器发出的后续请求就在Cookie头部中返回这个Cookie。

在服务器创建了Cookie后,浏览器在对Web站点访问发出的每个请求中返回Cookie。浏览器在头部中发送Cookie:

创建和读取会话Cookie:
通过Response和Request的Cookies属性来创建和读取会话Cookie。
Exp:创建一个名为MyItem的会话Cookie:


这个例子创建的是会话Cookies,被加载到浏览器的内存中。当浏览器关闭的时候,该Cookie就从内存中被清除。
读取Cookie 可以访问Request对象的Cookies集合。
Exp:读取上面创建的myItem

Cookie只能包换字符串值。如果要在Cookie中保存整数值,那么就需要把这样的值转换成字符串。
循环遍历Request对象的Cookies集合




创建和读取持久性Cookie
持久性Cookie和会话Cookie之间仅有的差异在于附加的过期数据。




Cookie属性:
Domain---与Cookie关联的域名。如 sina.com、taobao.com
Expires---用于持久性Cookie的过期时间
HasKeys---一个表示Cookie是否一个Cookie字典的布尔值
Name---Cookie的名称
Path---与Cookie关联的路径。默认值为"/"
Secure---表示是否只能通过加密的连接来发送Cookie的值。默认值为False
Value---Cookie的值
Values---表示存储在Cookie字典中的所有键(key)和值(value)对的NameValueCollection
HasKeys属性可以检测一个Cookie是否为Cookie字典。Values属性可以从Cookie字典中读取Key和Value。
Exp:创建一个Cookie字典
















在梦想和现实之间寻找平衡 在欲望和理想之间左右的妥协!平淡又平凡的努力生活!