巧用ASP.NET饼干
先看看饼干学习图,看看学什么。
1.什么是饼干?
Cookie是一小段文本信息,存在于客户端硬盘上长度不超过4KB的文本文件中。随着用户请求和网页服务器与浏览器之间的页面传输,每次用户访问一个网站,网络应用程序都可以读取Cookie中包含的信息。
二、工作原理
因为HTTP是无状态协议,服务器无法单独从网络连接中知道客户的身份。怎么办?给客户一张通行证,每人一张,任何人来访都必须带自己的通行证。这样,服务器就可以从通行证上确认客户的身份。这就是Cookie工作原理。Cookie实际上是一小段文本信息。请求客户端服务器,如果服务器需要记录用户状态,使用response向客户端浏览器发出Cookie。客户端将保存Cookie。当浏览器再次请求网站时,浏览器将请求的网站地址和Cookie一起提交给服务器。服务器检查Cookie以识别用户状态。服务器还可以根据需要修改Cookie的内容。
Cookie对象的属性和方法属性:(1)。名称:获取或设置Cookie的名称(2)。值:获取或设置Cookie (3)的值。过期:获取或设置Cookie的过期时间(4)。版本:获取或设置符合HTTP维护状态的Cookie版本。
方法:(1)。Add:添加Cookie变量,并将指定的Cookie保存在Cookie集合(2)中。清除:清除Cookie集合(3)中的变量。Get:通过变量名或索引(4)获取Cookie变量的值。Remove:通过cookie变量名或索引删除cookie对象。
四.优点和缺点
优点:与会话和应用程序对象相比,Cookie可以保存用户信息。cookie存储在客户端,而Session和Application存储在服务器端,因此cookie可以长期存储。Web应用程序可以通过从客户端获取Cookie来验证用户。Asp.net包含两个Cookie集合,可以通过HttpRequest的Cookie集合进行访问。Cookie不是Page类的子类,所以使用方法不同于Session和Application。与它们相比,饼干的优点如下:1。可以配置到期时间;2.简单性:Cookie是基于文本的轻量级结构,包括简单的键值对;3.数据持久化:因为保存到客户端;4.没有服务器资源:因为它存储在本地客户端。
缺点如下:1。尺寸限制:2。不确定性:用户可能会删除cookie或禁用cookie;3.安全风险:可伪造的修改。
五、注意什么?[1].使用cookie保存请求服务器页面的客户端浏览器的请求信息时,保存时间取决于cookie对象的Expires属性,可以根据需要进行设置。如果没有设置Cookie的过期日期,它们将只保存到浏览器关闭。将Cookie对象的过期属性设置为日期时间。MaxValue意味着Cookie永远不会过期。
[2].cookie存储的数据量是有限的,大多数浏览器支持的最大容量是4096字节,所以不要使用cookie来保存大量数据。
[3].并非所有浏览器都支持cookie,数据以明文形式存储在客户端计算机中,因此最好不要使用cookie保存敏感的未加密数据。
[4].ASP.NET有两套Cookies,即响应对象的Cookies集和请求对象的Cookies集,但它们的功能不同。前者可以向客户端写入cookie,而后者可以读取存储在客户端的cookie。接下来,我们将讨论Cookie的实际应用。
首先,建立如图所示的界面,通过该界面可以登录网站。具体要求如下:
首次登录后,将登录信息写入用户计算机的Cookie中;再次登录时,读出并显示用户电脑中的Cookie信息,供用户选择使用;你可以通过阅读Cookie中的信息直接登录网站。
操作程序
1.在VS中创建新的空白ASP.NET应用程序,并在项目经理中添加Web表单;使用2行3列的表格进行布局;布局后,将两个Label控件放在布局表的左侧,并将它们的Text属性分别设置为用户名和密码。在布局表中添加两个文本框控件,一个按钮控件和一个复选框控件,将按钮控件的文本属性设置为“登录”,将复选框控件的文本属性设置为“记住用户名和密码”。
2.添加一个HTML页面。
默认情况下,该名称将更改为login.html。
3.编写事件处理代码。
span style=' font-family : kaiti _ GB2312;' font-size :18 px;'受保护的void Button1_Click(对象发送者,EventArgs e) { if (CheckBox1。选中){回应。Cookies'标识']。Expires=新的DateTime(2016,2,24);//设置生存期响应。Cookies ['pw']。expires=new datetime(2016年2月24日),密钥名为ID的cookie回应。Cookies'标识']。值=文本框1。文字;//将键名ID为的Cookie设置为文本框内容响应。cookies ['pw']。value=textbox2.text}回应。重定向(' log in . html ');}/span首先,判断本页定义的Cookie是否为空。如果不是空的,读出Cookie的内容,放入文本框1和文本框2。这样,当用户在自己的机器上第二次登录同一个页面时,可以直接点击【登录】按钮,省去了再次输入用户ID和密码的过程。
span style=' font-family : kaiti _ GB2312;' font-size :18 px;'受保护的void Page_Load(对象发送者,事件参数e) { if(请求。Cookies['ID']!=空请求。Cookies['PW']!=null) { TextBox1。文本=请求。cookie[' ID ']. value . tostring();文本框2。文本=请求。cookies[' PW ']. value . tostring();//用键名ID读出Cookie的值,并显示在TextBox2中。} }/span再次加载页面时,会出现如下图所示。
上面简单展示了几个常用功能(保存用户的个人信息,如姓名、密码等。帮助用户快速登录网页),还有很多未知的功能供我们探索,比如:
保存用户的个人爱好,设计师可以根据Cookie中记录的用户爱好设置网站的风格;网上购物时,记录用户购买的商品信息;记录弹出窗口的弹出状态。当某些页面打开时,会弹出通知或广告窗口。Cookie可以用来记录窗口的弹出状态,了解弹出窗口是否已经弹出。如果已经弹出,当页面打开时,弹出窗口不会再次弹出。通过键入这个例子,我对Cookie的使用有了更深的理解。以前看到这种类似的文章就躲着看,肯定很难读懂。但是,我自己试了之后才意识到,一点都不难,所以在学习上一定不要怕困难。
这就是本文的全部内容。希望对大家的学习有帮助,一起进步!
版权声明:巧用ASP.NET饼干是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。