c#如何写入和读取cookie

发布时间:2020-07-03编辑:脚本学堂
c#如何写入和读取cookie

1.C#如何写入Cookie:
写入Cookie的步骤主要有三步,具体如下:

首先就要创建一个HttpCookie对象,通过这个对象来构造一个Cookie,这个对象的名称就是以后产生的Cookie名称。具体如下代码:
HttpCookie cookie = new HttpCookie ( " 用户定义的Cookie名称" ) ;
然后对创建的HttpCookie对象的" Value" 属性分配一个字符串值," Value" 的值就是后来产生的Cookie的值。具体代码如下:
cookie.Value = "用户给Cookie赋值" ; 如果你想写入的Cookie数值不是一个简单的字符串,而是一个复杂的数据类型,我们知道这些数据类型是不能直接存贮到Cookie中的,因为Cookie中只能存贮字符串。但你可以通过一个变通的方法,就是把这个复杂的数据类型转换成多个字符串,然后把这多个字符串同时赋值给产生的Cookie值,这样Cookie中的内容就丰富了,以后利用Cookie完成的功能也强大了。这时你可能就会明白为什么当你浏览Web服务器,Web服务器会知道你什么时候曾经浏览过,并且曾经待过多长时间等信息了。因为这些信息已经存储到你第一次浏览页面时,Web服务器产生的Cookie中去了。下列代码是把多个字符串存储到Cookie的例子:
cookie [ " 姓名" ] = " 王天";
cookie [ " 性别" ] = " 男";
cookie [ " 年龄" ] = " 26";
Cookie有临时的,也有永远的。永久 Cookie 以文件形式存储在计算机上,关闭 Internet Explorer 时仍然保留在计算机上。再次访问该站点时,创建该 Cookie 的网站可以读取。在具体的编程时候,是在写入此Cookie的时候,设定Cookie的生命周期,具体如下代码:
 

复制代码 代码如下:
DateTime dtNow = DateTime . Now ;
TimeSpan tsMinute = new TimeSpan ( 0 , 1 , 0 , 0 ) ;
cookie . Expires = dtNow + tsMinute ;
 

以上代码是设定产生的Cookie的生命期为" 一个小时" ,你可以通过修改" TimeSpan" 属性来设定产生Cookie的具体生命期。
.最后调用" Response.Cookies" 对象的" Add()" 方法,加入此对象,这样就可以产生一个Cookie了。具体代码如下:
Response . Cookies . Add ( cookie ) ;
下列代码就是在 C#写入Cookie的完整代码(Write.aspx):
 

复制代码 代码如下:
<% @ language = "C#" %>
<script runat = "server" >
void WriteClicked ( Object Sender , EventArgs e )
{
//创建一个HttpCookie对象
HttpCookie cookie = new HttpCookie ( NameField . Text ) ;
//设定此cookies值
cookie . Value = ValueField . Text ;
//设定cookie的生命周期,在这里定义为一个小时
DateTime dtNow = DateTime . Now ;
TimeSpan tsMinute = new TimeSpan ( 0 , 1 , 0 , 0 ) ;
cookie . Expires = dtNow + tsMinute ;
cookie [ "姓名" ] = "王天" ;
cookie [ "性别" ] = "男" ;
cookie [ "年龄" ] = "26" ;
//加入此cookie
Response . Cookies . Add ( cookie ) ;
Response . Write ( NameField . Text + "Cookie创建完毕 <br > <hr > " ) ;
}
</script >
<html >
<body >
<h3 > 在 C#页面中创建cookie </h3 >
定义此cookie的生命周期为一小时
<form runat="server">
Cookie名称:<asp:textbox id = "NameField" runat = "server" /> <br >
Cookie的值:<asp:textbox id = "ValueField" runat = "server" /> <br >
<asp:button text = "创建Cookie" onclick = "WriteClicked" runat = "server" /> <br >
</form >
</body >
</html >

内容丰富的Cookie拥有许多属性,充分利用这些属性,可以实现很多有用的功能。
Cookie的一些常用的属性:
属性  描述
Domain  设定/获得Cookie应属于的域名。一旦设定了此属性,则只限定于此域名的Web服务器访问此Cookie。可以设定为"jb200.com"。
Path  设定/获得Cookie应属于的路径,如果设定后,则访问此Cookie的Web页面则被限定在此路径里面。其他路径的Web页面则不能访问。
Secure  设定/获得一个标识来表明利用HTTP协议是否能够安全的传输Cookie到客户端的浏览器。
HasKeys 表明是否此Cookie是否是多个字符串组成的。

写入Cookie时,最大限度的利用这些属性,可以实现很多功能。