您的位置:首页 > 编程语言 > ASP

asp.net学习总结——Asp.net对象之Session对象、Cookie对象

2016-06-11 17:36 363 查看
  ASP.NET提供了六个内置对象:Request、Response、Application、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是一小块由浏览器存贮在客户端系统上(硬盘)的文本,是一种标记。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息