ASP.NET的状态保持:
1.viewstate:隐藏域,记录服务器端控件的状态,适用于页面不关闭的情况下多次与服务器交互,页面自己给自己传值;文本框的改变事件、IspostBack也依赖viewstate。

2.cookie:一小段文本,存储在客户端(浏览器)中,当请求某个网页的时候,浏览器会将与这个网页相关的cookie取出,一并发送到服务端;存放在浏览器内存(会话cookie,无过期时间 ;浏览器关闭cookie即过期)和磁盘(域cookie,可以设置过期时间)中。注意,如果不给cookie设置过期时间,则此cookie存储在浏览器中,浏览器关闭的时候,cookie即失效;如果设置过期时间,则为域cookie,存储在磁盘中,直到过期时间到来才会失效。(cookie是与域相关的,不同域的cookie不相互使用,主域的cookie子域都可以访问,子域的cookie主域是访问不到的 )

-> cookie的使用:
1.Response.cookie["Name"].value;

2.HttpCookie cookie=new HttpCookie("name","value");
cookie.Expires=DateTime.Now.AddHours(1);
Response.Cookies.Add(cookie);

Cookie限制总的大小是4kb 一个网站总数不超过20个,最多300个左右。也就是Cookie是有很多限制的一般放少量的数据。Cookie的适用场景:记住我!

3.Session:会话!持续的一段时间。Session存储在服务器端,使用场景用于页面间传值。

Session.Abandon(); //销毁服务器端的Session对象
Session.Clear();//清空服务端的Session对象里的键值对,
Session对象并没有从Session池里销毁

一般处理程序使用Session的话:要实现接口(IRequiresSessionState)
只是读取Session的话,不需要实现接口,此接口就是一个标志

Session机制并不是Http协议规定

滑动窗口机制,在第一次向服务器发送请求的时候,服务器解析发现没有SessionID就会在响应的时候加入SessionID,那么在会话时间范围内再次向服务器发送请求,服务器解析请

求报文,发现有SessionID,就会认同第二次请求和上一次请求在同一次会话当中,同时将会话时间再向后延迟一段时间;如果超过Session规定的时间再访问则服务器不认为和上一次会话是

同一次会话,则会在响应报文重新给一个SessionID来维持会话。

Session:缺陷(问题):当前服务器重启,Session就会丢失。
注意,禁用Cookie后,Session的id是通过URL进行传递的。

4.Application,类似于全局变量,通过在Global文件中的Session_Start和Session_End事件对Application["key"]设置值可以实现“在线人数统计”的功能。

最新文章

  1. 用GUI完成了斗地主发牌
  2. HDU 1085 Holding Bin-Laden Captive!(DP)
  3. Algorithms, Part I by Kevin Wayne, Robert Sedgewick
  4. python 线程之_thread
  5. HTML Window.document对象
  6. Primace 5.0软件与KEIL单片机软件联合在线仿真步骤
  7. Python中的闭包
  8. python asyncio笔记
  9. C++命名空间 namespace的作用和使用解析
  10. PHP的$_SERVER['HTTP_HOST']获取服务器地址功能详解
  11. 经典SQL练习题
  12. Excel教程(12) - 数学和三角函数
  13. 为什么win记事本编辑的shell在linux中运行会报错
  14. SOLID原则(OOD&OOP)
  15. openssl私钥转换为PKCS8
  16. TCP 链接 存在大量 close_wait 等待
  17. SQL GROUP BY对多个字段进行分组
  18. HBase学习总结(1)
  19. FTP上传下载类
  20. Linux 黑白界面显示

热门文章

  1. HUFFMAN 树
  2. 【JS】Intermediate2:Events and Callbacks
  3. uva_12535 - Probability Through Experiments
  4. SQL Server Data Tool 嘹解(了解)一下 SSDT -摘自网络
  5. 问题-delphi XE2 Stack Overflow- save your work and restart CodeGear
  6. HDU 1518 Square
  7. Maven管理项目架包
  8. JBPM学习(五):流程变量
  9. Spring Bean Scope 有状态的Bean 无状态的Bean
  10. 学习笔记:暴力破解WIFI小软件