状态管理





5.00/5 (1投票)
ASP.NET 提供了许多存储状态的地方,包括客户端和服务器端。然而,有时很难决定应该把状态放在哪里。
ASP.NET 提供了许多存储状态的地方,包括客户端和服务器端。然而,有时很难决定应该把东西放在哪里,以及如何做出这个决定。
您用于状态管理的选项包括
- 应用程序 - 存储在服务器上并供所有用户共享。不会过期。 已被缓存(如下)弃用。
- 缓存 - 存储在服务器上并供所有用户共享。可以过期。
- 会话 - 存储在服务器上。 对每个用户都是唯一的。 可以过期。
- ViewState - 存储在隐藏的页面输入中(默认)。 不会过期。
- Cookie - 存储在客户端。 可以过期。
- QueryString - 在 URL 中传递。 必须在每个请求中维护。
- Context.Items - 仅持续一个请求的生命周期。 更多。
- Profile - 将数据存储在数据库中。可用于在多个请求和会话中保留用户数据。
白皮书/博客
-
在 ASP.NET 应用程序中管理持久用户状态的九个选项 - MSDN 杂志文章,详细介绍了在 ASP.NET 中维护状态的各种方法。
-
状态管理 - 对在各个地方存储状态的决策过程、优缺点进行了很好的博客概述。
-
Microsoft ASP.NET 2.0 提供程序:简介 和 会话状态提供程序 - "会话状态提供程序提供了 Microsoft ASP.NET 的会话状态模块和会话状态数据源之间的接口。" 如果您计划编写自己的提供程序,或者只是想了解现有的提供程序之一,MSDN 文档是一个很好的起点。
-
状态管理和缓存 - 这是 MSDN 中的一个简短部分,它提供了对一些可能感兴趣的模糊细节的见解。
-
为您的 Web 应用程序提供快速、可扩展和安全的会话状态管理 - 来自 MSDN 杂志的一篇关于 ASP.NET 会话状态架构的优秀文章。
-
架构和性能注意事项 - 一篇非常有见地的博文,可以帮助您决定使用哪个会话提供程序。
-
解决过期的 ASP.NET 会话状态和您的选项 - Scott Hanselman 涵盖了存储状态时可用的各种选项。
- ASP.NET 负载均衡和 ASP.NET 状态服务器 (aspnet_state) - Maarten Balliauw 以一种相当容错的方式使用进程外会话状态!
- 使用状态服务器负载均衡进行 ASP.NET 会话状态分区 - 更多来自 Maarten 的内容,这次是分区会话状态。
视频
- 了解 Web 应用程序状态 - 在本课中,您将看到如何在 ASP.NET 中维护状态,包括可用于为 ASP.NET 2.0 应用程序存储信息的各种对象。
- 如何:使用控件状态来保留自定义 Web 服务器控件的信息 - 在本视频中,Chris Pels 将展示如何将与自定义 Web 服务器控件相关的信息存储在控件状态中,该状态独立于控件的 ViewState 信息。
- 如何:保存和加载自定义 Web 服务器控件的 View State 信息 - 在本视频中,Chris Pels 将展示如何保存和恢复自定义用户控件的 ViewState 中的信息。
- 如何:利用缓存? - 观看页面输出缓存的演示,然后概述 SQL Server 2000 和 SQL Server 2005 的新数据库缓存支持。
享受!请务必探索子主题。