asp.net学习总结——Asp.net对象之Session对象、Cookie对象
2016-06-11 17:36
363 查看
ASP.NET提供了六个内置对象:Request、Response、Application、Session、Server和Cookie 。这些对象收集当前应用程序请求、用户信息、响应浏览器信息,来完成页面的管理和信息传递。
鉴于对比总结的学习方法更高效,故用对比的方法将这六个对象总结为三篇博客,接下来开始第二篇:Session对象、Cookie对象。
由于每个用户向应用程序发出请求时有不同的Session,所以当用户请求来自应用程序的web页时,如果该用户没有会话,则web服务器将自动创建一个Session对象。
Session应用:相信敲牛腩新闻发布系统的时候,大家对session的应用是有些了解的了,它用来出存储用户名和密码,如果用户已经登录,那么web服务器将创建一个Session对象用来存储用户的登录信息,这样用户就是一个已登录状态,可以进行其他网页的操作,如果没有登录,那么页面会自动跳转到登录界面,让用户登录后行使相关的权限。
所以在我看来,session保存的是一种状态,而且是有期限的,如果用户长时间不活跃,就会被从内存中删除,以便节约资源。
就像我们登录了CSDN博客,为了省去下次登录还要输入用户名和密码的麻烦,我们选择了“保存用户名和密码,下次自动登录”的选项,当我们再次访问CSDN博客时,网站可通过读取Cookies,获取用户信息,及时作出反应,而不需要再次从数据库中取出数据进行验证,故利用这样的机制,用户不必输入账号和密码,大大的省事了,当然,安全隐患也是有的,酌情选择~
Cookie应用:
1)添加存储信息:
cookie.Values.Add("Name","sunlina"); //采用键/值结合的方式
2)获取用户名:
Cookies["ID"].Value.ToString();
如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。
Session对象就是服务器给客户端的一个编号;Server对象提供对服务器上的方法和属性的访问;cookie是一小块由浏览器存贮在客户端系统上(硬盘)的文本,是一种标记。
鉴于对比总结的学习方法更高效,故用对比的方法将这六个对象总结为三篇博客,接下来开始第二篇:Session对象、Cookie对象。
Session对象
Session对象是HttpSessionState的实例,Session为每个用户的会话存储信息,Session中信息只能被用户自己使用,而不能被网站的其他用户使用,因此不能用来在不同用户之间共享数据。由于每个用户向应用程序发出请求时有不同的Session,所以当用户请求来自应用程序的web页时,如果该用户没有会话,则web服务器将自动创建一个Session对象。
Session应用:相信敲牛腩新闻发布系统的时候,大家对session的应用是有些了解的了,它用来出存储用户名和密码,如果用户已经登录,那么web服务器将创建一个Session对象用来存储用户的登录信息,这样用户就是一个已登录状态,可以进行其他网页的操作,如果没有登录,那么页面会自动跳转到登录界面,让用户登录后行使相关的权限。
所以在我看来,session保存的是一种状态,而且是有期限的,如果用户长时间不活跃,就会被从内存中删除,以便节约资源。
<span style="font-size:18px;"> //判断seddion里面是否存在管理员 if (Session["admin"] != null && Session["admin"].ToString() == "niunan") { //已经登录 if (!Page.IsPostBack) { //绑定新闻分类 DataTable dt = new CategoryManager().SelectAll(); ddlCategory.DataSource = dt; ddlCategory.DataTextField = "name"; ddlCategory.DataValueField = "id"; ddlCategory.DataBind(); } } else { Response.Redirect("login.aspx"); }</span>
Cookie对象
Cookie对象是HttpCookie类的对象,Cookie对象为Web应用程序保存用户的相关信息,它能够将少量数据存储到客户端的内存当中。就像我们登录了CSDN博客,为了省去下次登录还要输入用户名和密码的麻烦,我们选择了“保存用户名和密码,下次自动登录”的选项,当我们再次访问CSDN博客时,网站可通过读取Cookies,获取用户信息,及时作出反应,而不需要再次从数据库中取出数据进行验证,故利用这样的机制,用户不必输入账号和密码,大大的省事了,当然,安全隐患也是有的,酌情选择~
Cookie应用:
1)添加存储信息:
cookie.Values.Add("Name","sunlina"); //采用键/值结合的方式
2)获取用户名:
Cookies["ID"].Value.ToString();
形象解读
通过以上讲解,我们可以大致了解了Session对象和Cookie对象的工作机制,用形象的例子来解读吧:如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。
一锤定音
总而言之,Session是储存在服务器的信息,Cookie是储存在浏览器的信息。Session对象就是服务器给客户端的一个编号;Server对象提供对服务器上的方法和属性的访问;cookie是一小块由浏览器存贮在客户端系统上(硬盘)的文本,是一种标记。
相关文章推荐
- ASP.NET Core 源码阅读笔记(3) ---Microsoft.AspNetCore.Hosting
- asp.net学习总结——Asp.net对象之Request对象、Response对象
- asp.net学习总结——对asp.net的理解
- ASP.NET MVC 网站开发总结(五)——Ajax异步提交表单之检查验证码
- ASP.NET 搭建贴吧机器人(零)
- ASP.NET页面事件:顺序与回传详解
- C#创建COM组件,并在ASP、PHP中调用方法
- Java程序使用HASP加密狗加密保护的操作步骤--手把手包你学会
- ASP.NET Core 中文文档 第二章 指南(3)用 Visual Studio 发布一个 Azure 云 Web 应用程序
- asp.net mvc
- 用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API
- ASP.NET页面优化,提高载入速度方法大全-压缩页面
- asp.net MVC与WPF MVVM
- asp.net 前台调用后台方法
- ASP.NET Webform的一个副作用及解决方法
- 使用Visual Studio Code创建第一个ASP.NET Core应用程序
- 树莓派3(Raspberry pi 3)刷kali+3.5寸微雪屏
- .NET中常见的 IL 指令集
- aspx页面调用iframe标签里面的js函数
- ASP.NET使用一般处理程序生成验证码