ASP.NET状态管理回顾与总结

    介绍了ASP.NET 2.0的各种状态管理机制。当然还有其他的管理机制,如Profile、QueryString等。由于HTTP的无状态特性,所有状态管理对开发Web应用程序来说都非常重要。几乎每一个网站都会或多或少使用到状态管理,目的无非如下。

·      利用状态存储一些常用数据提升网站效率。

·      利用状态存储用户信息使得网站能记住用户。

·      利用状态存储在网站的各个页面中传递数据。

ASP.NET提供了各种状态管理机制,各有各的特点。只有在充分理解了各种状态管理机制的特性以后,我们才能根据自己的需要选择合适的机制来使用。作为总结,我们列出一个总表对各种重要的状态管理进行比较。

存储位置

类型

限制

大小

限制

适用

对象

使用

范围

过期

策略

安全性

Cookie

客户端Cookie文件夹

字符串

每个4K

单个用户

当前请求

上下文

绝对时

间过期

Session-InProc

客户端CookieWeb服务器内存

任何

类型

受内存

限制

单个用户

当前请求

上下文

平滑时

间过期

比较高

Session-StateServer

客户端Cookie

Windows服务所在服务器内存

可序列

化类型

受内存

限制

单个用户

当前请求

上下文

平滑时

间过期

比较高

Session-SqlServer

客户端CookieSQL Server服务器硬盘

可序列

化类型

受数据

库限制

单个用户

当前请求

上下文

平滑时

间过期

比较高

Application

Web服务器内存

任何

类型

受内存

限制

所有用户

当前请求

上下文

应用程

序结束

则无效

Cache

Web服务器内存

任何

类型

受内存

限制

所有用户

当前请求

上下文

平滑时间

过期、绝

对时间过

期、依赖

过期

ViewState

页面隐藏域

可序列

化类型

受表单

提交大

小限制

单个用户

当前页面

页面关

闭则无

比较低

原文地址:https://www.cnblogs.com/xiaorong/p/1129791.html