Asp.net内置对象之Cookies(简介/属性方法/基本操作及实例)
一、了解Cookies对象
Cookies是由Web服务器管理的存放在客户计算机中的一个数据集合。这些数据是客户端、服务器端相关的。也就是说客户浏览器每登录一个网站,在Cookies中就会保存客户浏览器与该网站的相关信息。即使客户用同一个浏览器登陆了多个网站,在Cookies中依然会保存浏览器与多个网站的相关信息,但Cookies中这些信息的管理是有序的,当客户浏览器再次登录某网站时,只有Cookies中相对应的信息会发生作用。
Cookies是Web应用程序设计的一项很重要的技术,当Web服务器想知道某个用户的相关资料或几个ASP.NET文件之间传送的数据时就可以使用Cookies。
很多网站中的Web应用程序都是由多个ASP.NET文件组成的,为完成某一特定功能,要求在这些ASP.NET文件之间能够传送一些参数,这些参数就可以存为Cookies,这样当文件1想传送数据给文件2时,只要文件1中的数据将参数作为Cookies写入Cookies.txt文件中,然后文件2再从Cookies.txt文件中将指定名称的Cookies信息读出即可。Cookies中信息的写入工作由Response对象完成,Cookies信息的读取工作由Request对象完成。[在另一篇:Asp.net内置对象之Request对象中]
二、Cookie对象的属性和方法
属性:(1).Name:获取或设置Cookie的名称
(2).Value:获取或设置Cookie的值
(3).Expires:获取或设置Cookie的过期时间
(4).Version:获取或设置Cookie的符合HTTP维护状态的版本
方法:
(1).Add:增加Cookie变量,将指定的cookie保存到Cookies集合中
(2).Clear:清除Cookie集合中变量
(3).Get:通过变量名或索引得到Cookie变量的值
(4).Remove:通过Cookie变量名或索引删除Cookie对象
三、Cookie的基本操作
1.创建Cookie对象并设置过期时间
protected void Page_Load(object sender, EventArgs e)
{
//创建Cookie对象
HttpCookie mycookie = new HttpCookie("MyCookie");//创建一个名称为“MyCookie”的Cookie
mycookie.Value = Server.HtmlEncode("大家好,我是Cookie");//设置Cookie的值
mycookie.Expires = DateTime.Now.AddDays(10);//设置Cookie过期时间
Response.AppendCookie(mycookie);//将一个HTTP Cookie添加到内部Cookie集合中
//Response.Cookies.Add(mycookie);//添加到内部Cookie集合中,与上面相同
}
2.获取Cookie对象
protected void Page_Load(object sender, EventArgs e)
{
//获取Cookie对象
try
{
HttpCookie mycookie = new HttpCookie("MyCookie");
mycookie.Value = Server.HtmlEncode("Hello,我是Cookie");
mycookie.Expires = DateTime.Now.AddHours(10);
Response.AppendCookie(mycookie);
Response.Write("创建Cookie成功");
Response.Write("<hr>");
//----------使用------------
HttpCookie getMyCookie = Request.Cookies["MyCookie"];//获取Cookie
Response.Write(getMyCookie.Name + getMyCookie.Value + getMyCookie.Expires);//输出
}
catch
{
Response.Write("Cookie 创建失败");
}
}
四、实例:Cookie的写入和读取
Response对象包含一个Cookies属性。可以通过Cookies属性设置、管理Cookies的信息。如果指定的Cookies不存在则创建该Cookies,如果存在则用新值替换旧值。
Cookie对象需要利用.NET提供的HttpCookie类重新定义。使用“Response.Cookies.Add”将信息发送并保存到客户端的浏览器,利用Request对象提供的方法可以将Cookies信息读取出来。
如下实例:
代码如下:
在default1页面中:
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
//保存cookie信息
HttpCookie c1 = new HttpCookie("user");//HttpCookie类实例化一个从cookie对象,创建并命名新的cookie
c1.Value = "cookie Value"; //设置单个cookie的值
Response.Cookies.Add(c1); //将指定的cookie保存到Cookies集合中
Response.Write("<script>alert('保存成功!')</script>");
}
protected void Button2_Click(object sender, EventArgs e)
{
//提交页面
Response.Redirect("Default2.aspx");
}
在default2页面:
protected void Button1_Click(object sender, EventArgs e)
{
//读取coookie
Response.Write("cookie的名称(Name):" + Request.Cookies["user"].Name + "<br/>");
Response.Write("cookie的值(Value):" + Request.Cookies["user"].Value + "<br/>");
}
五、Cookie对象相比Session、Application的优缺点:
以下总结来自:ASP.NET 3.5 开发技术大全
相比Session和Application对象,使用Cookie能持久化保存用户信息。Cookie保存在客户端,而Session和Application保存在服务器端,故Cookie能长久保存。web应用程序可以通过获取客户端的Cookie来进行用户身份认证。
Asp.net包含两个Cookie集合,通过HttpRequest的Cookie集合进行访问,Cookie不是Page类的子类,所以使用方法与Session和Application不同,相比于他们Cookie的优点如下:
1.可以配置过期时间
2.简单:Cookie是一种基于文本的轻量级结构,包括简单的键值对
3.数据持久:因为保存到客户端
4.无任何服务器资源:因为存储在本地客户端
缺点如下:
1.大小限制:
2.不确定性:可能用户删除Cookie或者禁用
3.安全风险:可伪造修改
最后推荐一篇:Cookies
相关文章
- 这篇文章主要介绍了如何使用jQuery操作Cookies方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-08
- 下面小编就为大家带来一篇浅谈js内置对象Math的属性和方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-10-03
c# 获取CookieContainer的所有cookies函数代码
这篇文章主要介绍了c# 获取CookieContainer所有cookies的函数代码,需要的朋友可以参考下...2020-06-25- 以前觉得cookies操作无非就那么几种,但是“杯具事件”还是很多的,下面分享一下对cookies的简单操作...2020-06-25
- .ashx文件中获取cookies值对于一些高手们就不多说了,至于一些小白们还是有必要多多学习啊,好了话不多说,看代码,感兴趣的你可不要错过了哈...2021-09-22
- 这篇文章主要介绍了不可或缺的ASP.NET内置对象小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-09-22
selenium中get_cookies()和add_cookie()的用法详解
这篇文章主要介绍了selenium中get_cookies()和add_cookie()的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-29C#中Request.Cookies 和 Response.Cookies 的区别分析
本文通过实例代码向我们展示了C#中Request.Cookies 和 Response.Cookies 的区别,文章浅显易懂,这里推荐给大家。...2020-06-25- Cookies想必所有人都了解本文将围绕Cookies基础知识(什么是Cookies/Cookies如何传递/Cookies如何存储/Cookies如何查看)Cookies高级知识/Cookie的限制等等方方面面深入了解,感兴趣的朋友可以参考下,或许对你学习cookies有所帮助...2021-09-22
- 不同的浏览器会把cookie文件保存在不同的地方.这篇文章主要介绍了C# 清除cookies的代码,需要的朋友可以参考下...2020-06-25
ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递
本文主要介绍了ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据传递的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧...2021-09-22- 这篇文章主要介绍了scrapy中如何设置应用cookies的方法(3种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-09-22
- Server对象提供对服务器上的方法和属性的访问以及进行HTML编码的功能,本文主要围绕server对象介绍详细功能及常用属性和主要方法,感兴趣的朋友可以了解下,或许对你学习server对象有所帮助...2021-09-22
- Request对象主要用于获取来自客户端的数据,如用户填入表单的数据、保存在客户端的Cookie等,本文将围绕Request对象,讲解其的主要作用:读取窗体变量、读取查询字符串变量、取得Web服务器端的系统信息。取得客户端浏览器信息等等,感兴趣的朋友可以了解下...2021-09-22
- cookie数据存放在客户的浏览器上,session数据放在服务器上,cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session...2021-09-22
- ASP.NET下对cookies的操作实现代码,需要的朋友可以参考下。...2021-09-22
Asp.net内置对象之Cookies(简介/属性方法/基本操作及实例)
本文将围绕cookies了解Cookies对象/Cookie对象的属性和方法/Cookie的基本操作及实例:Cookie的写入和读取/Cookie对象相比Session、Application的优缺点扥等,感兴趣的朋友可以了解下,或许对你学习cookies有所帮助...2021-09-22- 这篇文章主要介绍了c#和net存取cookies操作示例,需要的朋友可以参考下...2020-06-25
- 本文主要介绍了ES6的内置对象扩展实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2022-07-04