ASP.NET中的状态管理

前段时间参加了培训 其中培训师关于状态管理的那一段讲的简洁明了 所以自己整理了下 和大家分享

 

Session 会话
l         区分客户端,不区分页面
l         数据量会随着客户端(并发)数量的增多,而增多
l         服务器端存储什么:数据存储在服务器端(InProc,StateServer,SqlServer)
l         客户端存储什么:客户端存储的是SessionID
l         有过期策略
l         适用场合:与用户相关的数据,购物车,用户帐号,
 
Application 状态
l         全局数据,所有客户端共享:不区分客户端,不区分页面
l         服务器端存储什么:数据存储在服务器端(服务器进程内)
l         客户端存储什么:客户端不存储任何与Application状态数据
l         可能有多线程并发访问的问题,需要同步(Lock/Unlock)
l         适用场合:全局性的数据,在 Application_Start 内初始化,然后在其他页面中访问
 
ViewState 视图状态
l         区分客户端,区分页面
l         服务器端存储什么:数据在服务器和客户端(页面数据)来回穿梭
l         客户端存储什么:数据在服务器和客户端(页面数据)来回穿梭
l         适用场合:单一页面上的临时性数据,用于用户和一个页面之间的来回交互。
l         安全性比较低
 
页面上的实例字段
l         区分客户端,区分页面,而且区分前后不同的请求
l         生存期极短,只在服务器处理页面的过程中有效
l         适用场合范围较窄
 
 
静态字段
l         全局数据,所有客户端共享:不区分客户端,不区分页面
l         服务器端存储什么:数据存储在服务器端(服务器进程内)
l         客户端存储什么:客户端不存储任何static状态数据
l         可能有多线程并发访问的问题,同步需要自己编写代码( 不如 Application 方便
l         适用场合:全局性的数据,在任何需要的地方内初始化,然后在其他页面中访问
 
查询字符串 Query String
l         区分客户端,在两个相邻的页面之间共享(通过地址栏上数据)
l         服务器端存储什么:数据在服务器和客户端浏览器地址栏中交互
l         客户端存储什么:数据在服务器和客户端浏览器地址栏中交互
l         适用场合:作为数据查询的分离关键字,支持 copy 或存储。丧失安全性 ; 异构网站系统 (JSP, ASP, PHP) ASP.NET 页面集成
 
Input
l         区分客户端,在两个相邻的页面之间共享(通过地址栏上数据)
l         服务器端存储什么:数据从客户端页面上post给服务器
l         客户端存储什么:数据从客户端页面上post给服务器
l         适用场合:异构网站系统 (JSP, ASP, PHP) ASP.NET 页面集成
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值