Enterprise Library 5.0 业库缓存应用程序模块包括了以下特点:
- 可以使用图形界面对企业库缓存应用程序模块进行配置设置.
- 您可以配置一个持久的存储单元,或者使用独立存储或企业库数据访问应用程序模块, 其状态与内存中的缓存同步.
- 管理员可以管理的配置使用组策略工具.
- 可以通过创建自定义扩展的过期策略和存储单元的模块.
- 可以保证线程安全.
1.下载安装好MicrosoftEnterprise Library 5.0,然后在运行EntLibConfig.exe
2. 选择Blocks菜单 ,单击 Add CachingSettings
3. 点击 File 菜单,单击 Save,保存为一个App.config文件,可以先保存到桌面,之后要用到它. 用记事本打开App.config,可以看到如下内容.
View Code
1 代码 2 3 Code highlighting produced by Actipro CodeHighlighter (freeware) 4 http://www.CodeHighlighter.com/--><configuration> 5 6 <configSections> 7 8 <sectionname="cachingConfiguration"type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings,Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0,Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/> 9 </configSections> 10 <cachingConfigurationdefaultCacheManager="Cache Manager"> 11 <cacheManagers> 12 <addname="Cache Manager"type="Microsoft.Practices.EnterpriseLibrary.Caching.CacheManager,Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0,Culture=neutral, PublicKeyToken=31bf3856ad364e35" 13 expirationPollFrequencyInSeconds="60"maximumElementsInCacheBeforeScavenging="1000" 14 numberToRemoveWhenScavenging="10" backingStoreName="NullBackingStore"/> 15 </cacheManagers> 16 <backingStores> 17 <addtype="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore,Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0,Culture=neutral, PublicKeyToken=31bf3856ad364e35" 18 name="NullBackingStore" /> 19 </backingStores> 20 </cachingConfiguration> 21 </configuration>
接着可以创建一个应用程序来使用我们配置好的缓存应用程序模块了,在此我创建了一个名为test的控制台应用程序,并将刚才保存的App.config文件拷贝到工程文件夹之下:
5. 要使用缓存应用程序模块, 需要导入相应的Dll文件,在此我们要导入的是Microsoft.Practices.EnterpriseLibrary.Caching.dll ,将App.config文件添加到项目中,并添加Microsoft.Practices.EnterpriseLibrary.Caching和using Microsoft.Practices.EnterpriseLibrary.Caching.Expirations引用:
添加引用:
using Microsoft.Practices.EnterpriseLibrary.Caching; using Microsoft.Practices.EnterpriseLibrary.Caching.Expirations;
6. 添加和读取缓存项,下方演示的是将一个string对象保存到缓存中,在实际应用中我们常常是用于存储数据库中读取出的DataSet的.要注意的是:
(1) 读取出来的数据要进行类型转换为你需要的类型.
(2) 在读取的时候最好检查一下是否为空值.
using System; using System.Collections.Generic; using System.Linq; using System.Text;
using Microsoft.Practices.EnterpriseLibrary.Caching; using Microsoft.Practices.EnterpriseLibrary.Caching.Expirations;
namespace test { class Program { staticvoid Main(string[] args) { //创建CacheManager CacheManager cacheManager = (CacheManager)CacheFactory.GetCacheManager();
//添加缓存项 cacheManager.Add("MyDataReader", "123");
//获取缓存项string str = (String)cacheManager.GetData("MyDataReader");
//打印 Console.WriteLine(str); } } }
using Microsoft.Practices.EnterpriseLibrary.Caching; using Microsoft.Practices.EnterpriseLibrary.Caching.Expirations;
namespace test { class Program { staticvoid Main(string[] args) { //创建CacheManager CacheManager cacheManager = (CacheManager)CacheFactory.GetCacheManager();
//添加缓存项 cacheManager.Add("MyDataReader", "123");
//获取缓存项string str = (String)cacheManager.GetData("MyDataReader");
//打印 Console.WriteLine(str); } } }
运行结果:
7. 移除项目.
//移除缓存项cacheManager.Remove("MyDataReader");