HOW TO: 使用 ASP.NET 和 Visual C# .NET 将数据存储在应用程序范围内
概要
本分步指南演示如何通过
Application、
Cache 和
AppSettings 对象存储应用程序范围内的数据。 应用程序范围内的数据是指可用于整个 Web 应用程序的数据。
1. | 新建一个 Visual C# ASP.NET Web 应用程序。 |
2. | 向 WebForm1.aspx 添加一个 TextBox 控件。默认情况下将创建 TextBox1。 |
3. | 将以下代码添加到 Page_Load 事件中: |
4. | 将以下代码添加到 Global.asax 文件的代码隐藏模块中的 Application_Start 事件中: |
5. | 编译该项目。 |
6. | 在浏览器中查看 WebForm1.aspx。 |
使用 Cache 对象
1. | 新建一个 Visual C# ASP.NET Web 应用程序。 |
2. | 向 WebForm1.aspx 添加一个 TextBox 控件。默认情况下将创建 TextBox1。 |
3. | 将以下代码添加到 Page_Load 事件中: |
4. | 将以下代码添加到 Global.asax 文件的代码隐藏模块中的 Application_Start 事件中: |
5. | 备注: 在 Global.asax 文件内部使用 Cache 对象时,必须通过 Context 对象(如 Context.Cache)来访问它。 |
6. | 编译该项目。 |
7. | 在浏览器中查看 WebForm1.aspx。 |
使用 AppSettings 对象
1. | 新建一个 Visual C# ASP.NET Web 应用程序。 |
2. | 向 WebForm1.aspx 添加一个 TextBox 控件。默认情况下将创建 TextBox1。 |
3. | 将以下代码添加到 Page_Load 事件中: |
4. | 将以下代码添加到同一个代码隐藏文件的顶部: |
5. | 在 Web.config 文件中,找到以下部分: |
6. | 将以下文本添加到 <configuration> 下面。 请注意 appSettings 是区分大小写的。 |
7. | 编译该项目。 |
8. | 在浏览器中查看 WebForm1.aspx。 |
其他备注
• | 如果您对 Global.asax 或 Web.config 文件进行修改(甚至包括用“记事本”),Web 应用程序将重新启动。 这将清除存储在内存中的所有数据,如应用程序和缓存数据,而且,如果会话数据是存储在内存中(亦即,如果您使用的是 InProc 会话状态模式)的话,还包括会话数据。 | ||||||
• | Cache 对象具有高级内存管理功能。 出于演示目的,本文将 DateTime.MaxValue 用作绝对到期时间。 因此,该代码并未以最优方式利用这些内存管理功能。 有关 Cache 对象的其他信息,请单击下面的文章编号以查看 Microsoft 知识库中的文章:
307225
(http://support.microsoft.com/kb/307225/EN-US/) INFO: ASP.NET Caching Overview(ASP.NET 缓存概述)
| ||||||
• | 如何知道哪种方法最适合您? 您为何选择这一种方法而不选择另一种? 在应用程序运行过程中修改代码中变量的值 (read/write) 的这一能力有利有弊。 如果多个处理器 (CPU) 或多个服务器正在运行您的 Web 应用程序,则这一点是有害的。 每个 CPU 或服务器都维护其各自的变量值。 如果您更改一个变量的值,则所作更改不影响其他任何值。
|