快速业务通道

详解ASP.NET的四种状态

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
新访问的用 户都将产生自己的会话(Session)对象。这个Session对象是在服务器端进行管理,只能为 它所绑定的用户服务。如果另一位用户也访问网站,他也经拥有自己的Sesiion对象。两个用 户的Session对象即使同名,也不能共享同一个Session对象。各是各的。

实际上Session对象是HttpSessionState类的实例。有很多属性和方法,大家不妨去看看 。这里不阐述了。

就一些例子吧。

Session["source"]="special source";

string message =Session["source"].ToString();

应用程序状态在网站中总是可用的,这.NET Framework的内部机制,我们不去管。我们来 看看Session对象。由于在Machine.config配置文件中的Session设置是启动的,因此不需要 额外的步骤就能使用它。尽管如此我们还是要知道一些原理和本质。Machine.config和应用 程序的Web.config中的设置决定了是启动还是关闭Session对象。当然如果想要延迟到需要时 ,在启用也可以。我们可以在页面一级设置。

//这条语句的作用是在这个页面中不能使用会话状态(Session)。

Session对象有一个Timeout属性可以设置Session对象的生命周期。它以分钟为单位,默 认是20分钟。如果再有效时间内没有连接服务器,那么Session的所有设置都将失效。如果需 要终止Session对象,可以用它的Abandon()方法。

差点忘了,Session有一点很重要,补充一下。

session中的关键字是不区分大小写的。因此不要用大小写来区分Session变量。也就是说 Session["source"]与Session["SOURCE"]是一样的。如果删掉其中一个,会有意想不到的结 果。

Cookie状态: Coolkie 状态一是用来保存一个用户资源的状态。和Session不同的是它存 储在浏览器端。在Cookie中只能含有较少的信息,通常不超过4096个字节(有些较新的浏览器 可以达到8192个i字节).在ASP.NET中,Session对象和Cookie对象现结合来识别用户。每当用 户开始连接站点时,系统将自动在内存块中创建一个和用户有关的Session对象,同时创建一 个Cookie对象来保存用户ID并把它保存在浏览器端,与当前的用户唯一的联系起来。这样当 用户下一次在访问时,用户被要求提交用户的TD也就是CooKie,Cookie和Session相对照以正 确的还原原来的会话状态。这就是无状态协议Http条件下保持用户状态的方法。

向浏览器写入Cookie的方法是这样的。举个例子:

HttpCookie cookie=new HttpCookie("userNameId");//创建一个Cookie对象, 并且赋值。

cookie.Value="userNameId"//如果已经存在一Cookie,也可以这样给它赋值。

cookie.Expires=DateTime.Now+TimeSpan;//设定cookie的生命周期,

这里的TimeSpan是TimeSpan类的一个实例。cookie的默认时间是20分钟。

Response.Cookies.Add(cookie);//向浏览器中写入Cookie.

HttpCookie cookie1=Request.Cookies["cookie"];//读取Cookie.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号