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 页面集成
 
Cookie
l 区分客户端,不区分页面
l 服务器端存储什么:服务器不保存Cookie数据
l 客户端存储什么:存放Cookie数据
l 有过期策略

l 适用场合:异构网站系统(JSP, ASP, PHP)ASP.NET页面集成,以及长期保存的数据





















本文转自周金桥51CTO博客,原文链接: http://blog.51cto.com/zhoufoxcn/166976  ,如需转载请自行联系原作者
相关文章
|
开发框架 搜索推荐 .NET
ASP.NET体检中心源码,实现检前、检中、检后全流程管理
健康体检系统遵循整个健康体检的实际流程,以提高工作效率、降低错检、防止漏检提高人性化服务水平为目的,在体检过程中可以高效、自动化、人性化的处理数据与提供服务。针对体检流程中工作强度在时间分配上不均匀等特点,解决了体检信息处理效率问题,在不增加体检中心人力资源投入或少投入的基础上,提升信息处理的效率,从而突破体检中心日处理体检人数的上限,为体检中心创造更大经济效益的同时,还能有效的降低体检工作者的劳动强度。
364 5
|
存储 开发框架 .NET
【ASP.NET】医学实验室管理(LIS)系统源码
【ASP.NET】医学实验室管理(LIS)系统源码
296 0
|
开发框架 监控 .NET
ASP.NET Dotnet LIMS实验室综合管理和质量监控系统源码
系统功能包括检测管理(合同管理、样品管理、样品收发管理、工作任务分配、检测结果登记、复核及审核、留样管理等)、报告管理(报告编制、审核、签发、打印等)、原始记录管理、仪器设备管理、物质试剂管理、文件管理、组织人员管理、标准管理、客户供应商管理、财务管理、查询统计等诸多模块为一体,组成一套完整的实验室综合管理和质量监控体系。
260 0
|
开发框架 前端开发 JavaScript
ASP.NET云LIS管理系统源码
基于.NET core3.1,包含前处理、检验、报告、质控、统计分析、两癌等模块 ,有源码,有演示,有文档。
267 0
ASP.NET云LIS管理系统源码
|
开发框架 数据可视化 前端开发
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
888 0
|
SQL 存储 开发框架
ASP.NET 用户和角色管理 附加代码详解
ASP.NET 用户和角色管理 附加代码详解
ASP.NET 用户和角色管理 附加代码详解
|
存储 开发框架 .NET
ASP.NET中HTTP请求(Request)、响应(Response)以及状态管理讲解
ASP.NET中HTTP请求(Request)、响应(Response)以及状态管理讲解
ASP.NET中HTTP请求(Request)、响应(Response)以及状态管理讲解
|
开发框架 监控 前端开发
ASP.NET实验室信息化管理平台(LIMS)源码
实验室信息管理系统(LIMS)是实验室人(人员)、机(仪器)、料(样品、材料)、法(方法、标准、质量)、环(环境)全面资源管理的实验室信息化管理系统,是一套完整的检验综合管理和产品质量监控体系,在满足日常管理要求,保证检验分析数据的严格管理和控制。它能全面优化实验室的检验管理工作,显著提升实验室的工作效率和生产力,提高质量控制水平。
194 0
|
SQL 开发框架 前端开发
ASP.NET MVC多表示例题-酒店管理
ASP.NET MVC多表示例题-酒店管理
429 0
ASP.NET MVC多表示例题-酒店管理
|
存储 开发框架 前端开发
ASP.NET Identity 使用 RoleManager 进行角色管理 (VS2013RC)
最近做一个Web平台系统,系统包含3个角色,“管理员, 企业用户, 评审专家”, 分别有不同的功能。一直以来都是使用微软封装好的Microsoft.AspNet.Identity.dll程序集来进行身份验证和角色控制。
ASP.NET Identity 使用 RoleManager 进行角色管理 (VS2013RC)