Asp.net 中ViewState,cookie,session,applica…
2018-06-22 07:55:12来源:未知 阅读 ()
Asp.net 中的状态管理维护包含ViewState,cookie,session,application,cache五种方式,以下是它们的一些比较:
1.存在于客户端还是服务端
- 客户端:
viewstate、cookie
- 服务端:
session、application、cache
*session:在服务端的存储方式包括4中,内存(最常用),ASP.NET State Service(Windows服务)、数据库、自定义状态提供程序
2.有效时间
- viewstate:
只要页面关闭,其状态就失效
- cookie:
包括临时cookie和永久cookie,临时cookie存在于浏览器内存中,只要浏览器关闭则临时cookie失效,永久cookie是在cookie对象上设置了失效时间,其保存在磁盘上,等过了失效时间即失效。cookie受客户端浏览器控制,且浏览器能够存储的cookie容量是有限的,因此当浏览器不支持cookie、人为在浏览器删除cookie或者浏览器cookie容量超出限制都会使cookie失效。
- session:
session的状态有一个超时时间,当超过该时间后,session自动无效
- application:
这个状态在服务器重新启动之前都是有效的。
- cache:
设置cache无效主要有两种方式:一是设置失效时间,二是通过设置依赖项,当依赖项发生变化时,cache失效
3.可保存的数据格式
- viewstate:字符串
- cookie:字符串
- session:可保存对象
- application:可保存对象
- cache:可保存对象
4.客户端与服务端交互时的关系
- viewstate:
客户端与服务端的交互只能发送或操作当前页面的视图状态
- cookie:
一般情况下,每次用户向服务端发送请求时会把当前站点的所有cookie发向服务端,但cookie允许设置路径(HttpCookie类包含Domain和Path属性),如果设置了具体的路径,则只有访问该路径时,才会把cookie发往服务端
- session:
客户端访问同一个站点下的不同资源,使用的是同一个session,服务端和客户端通常通过cookie来进行关联,即在客户端保存sessionID,每次向服务端发起请求时都会同时把sessionID(在cookie中的主键名为“ASP.NET_SessionId”)也一起带上,这样服务端拿到sessionID后就能找到客户端对应的session,所以session只跟站点和客户端相关。
- application:
所有客户端共享同一个application,它是全局的
- cache:
所有客户端共享同一个cache,它是全局的,但它有更多的控制权,如设置何时失效
5.应用场景
viewstate:只存在ASP.NET WebForm中,如每个服务器端控件都包含一个视图状态
cookie:通常用于存储一些服务端相关信息的标识符,从而在cookie发往服务端后可以找到其所对应的信息,也会用来保存账户密码等相关信息
session:用于与指定的客户端共同维护一个状态,保存具体的状态信息
application:保存全局的状态信息,如该网站的访问次数
cache:保存全局的状态信息,且这些信息的失效时间可以得到更好的控制
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- asp.net源程序编译为dll文件并调用的实现过程 2020-03-29
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据 2020-03-29
- Asp.Net中WebForm的生命周期 2020-03-29
- ASP.NET使用Ajax返回Json对象的方法 2020-03-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash