一,下载并安装好Enterprise Library 4.1

二,新建一个Web应用程序

三,右键点击Web.Config 文件 使用 Edit Enterprise Library Configuration 可以编辑Web.Config,建立一个缓存程序块

1.可以在Cache Managers 中建立多个缓存管理器,然后设置默认使用哪个管理器

2.可以右键为管理器添加一种存储方式,如果不加就是默认的内存存储。

3.管理器的名字用来做Key,获取存储区对象

4.保存后,打开Web.config 会看到

<cachingConfiguration defaultCacheManager="Cache Manager"><cacheManagers><add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000"numberToRemoveWhenScavenging="10" backingStoreName="Null Storage"type="Microsoft.Practices.EnterpriseLibrary.Caching.CacheManager, Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"name="Cache Manager" /><add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000"numberToRemoveWhenScavenging="10" backingStoreName="Isolated Storage"type="Microsoft.Practices.EnterpriseLibrary.Caching.CacheManager, Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"name="Cache Manager1" /></cacheManagers><backingStores><add partitionName="IsolatedCache" encryptionProviderName=""type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.IsolatedStorageBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"name="Isolated Storage" /><add encryptionProviderName="" type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"name="Null Storage" /></backingStores>
</cachingConfiguration>

四,添加引用

using Microsoft.Practices.EnterpriseLibrary.Caching;

using Microsoft.Practices.EnterpriseLibrary.Caching.Expirations;

五.写代码(例子我是复制菩提树下的杨过的代码)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Practices.EnterpriseLibrary.Caching;
using Microsoft.Practices.EnterpriseLibrary.Caching.Expirations;namespace CachingBlock
{public class MyData{public string Name { set; get; }public int Age { set; get; }public string Color { set; get; }}public partial class WebForm1 : System.Web.UI.Page{const string KEYNAME = "myDateCache";//缓存的键值ICacheManager cacheManager;protected void Page_Load(object sender, EventArgs e){cacheManager = CacheFactory.GetCacheManager();//实例化ICachemanager}protected void btnWrite_Click(object sender, EventArgs e){//生成要缓存的数据(实际开发中可以是从数据库查询出来的数据)List<MyData> _list = new List<MyData>{ new MyData(){ Age=1, Color="Yellow", Name="China"},new MyData{ Age=2,Color="Black",Name="USA"}};AbsoluteTime _ExpireTime = new AbsoluteTime(DateTime.Now.AddSeconds(30));//指定30秒后过期cacheManager.Add(KEYNAME, _list, CacheItemPriority.Normal, null, _ExpireTime);//加入缓存Response.Write("Cache写入完成," + DateTime.Now.ToString());}protected void btnRead_Click(object sender, EventArgs e){this.R1.DataSource = GetCacheData();this.R1.DataBind();Response.Write("Cache加载完成," + DateTime.Now.ToString());}/// <summary>/// 获取缓存数据/// </summary>/// <returns></returns>public List<MyData> GetCacheData(){List<MyData> _cacheData = cacheManager.GetData(KEYNAME) as List<MyData>;if (null == _cacheData)//记得一定要加此判断(因为缓存可能过期){//如果缓存数据为空,则重新生成数据,并加入缓存(为检测效果,特地把Color与Name前加了一个"New")_cacheData = new List<MyData>{ new MyData(){ Age=1, Color="New Yellow", Name="New China"},new MyData{ Age=2,Color="New Black",Name="New USA"}};AbsoluteTime _ExpireTime = new AbsoluteTime(DateTime.Now.AddSeconds(30));//指定30秒后过期cacheManager.Add(KEYNAME, _cacheData, CacheItemPriority.Normal, null, _ExpireTime);}return _cacheData;}protected void btnRemove_Click(object sender, EventArgs e){cacheManager.Remove(KEYNAME);Response.Write("Cache清空完成," + DateTime.Now.ToString());}}}

示例源码下载:EL41Sample.rar

转载于:https://www.cnblogs.com/SissyNong/archive/2009/10/15/1584064.html

Enterprise Library 4.1 Caching Block 图文笔记相关推荐

  1. Enterprise Library 2.0 -- Caching Application Block

    开始写Enterprise Library 2.0的学习体会,准备先把每个部分的入门部分写好,然后再继续深入的研究每一部分,希望能得到高手的指点和建议.今天写的是Enterprise Library ...

  2. Enterprise Library Policy Injection Application Block 之一: PIAB Overview

    在过去的半年里,定期或者不定期地写点东西已经成为了我的一种习惯.可是最近两个月来一直忙于工作的事情一直足够的时间留给自己,虽然给自己列了很长一串写作计划,可是心有余而力不足.这一段工作主要是帮助公司开 ...

  3. Enterprise Library: Data Access Application Block配置文件分析篇

    Enterprise Library: Data Access Application Block配置文件分析篇 Enterprise Library提供了Configuration Console配 ...

  4. Enterprise Library 4.1 快速上手(图)

    简介:   关于Enterprise Library 的概念,网上可以很容易的找到,在这里要做的是如何快速的打通Enterprise Library 4.1的使用, 让咱们可以用最短的时间使用起来,并 ...

  5. Enterprise Library 4.1 Application Settings 快速使用图文笔记

    Application Settings 可以使我们运用企业库的配置工具来管理类似于appSetting这样的配置文件中的标记,像我们经常用到的数据库连接字符串. 新建一个Web应用程序 右键点击We ...

  6. 最新版 Enterprise Library 企业库 V4.1 中文学习手册

    Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是patterns & practices 小组为.NET Framework ...

  7. Enterprise Library深入解析与灵活应用(3):倘若将Unity、PIAB、Exception Handling引入MVP模式.. .. .....

    最近在做一个Smart Client Software Factory的项目.熟悉SCSF或者CAB的都应该很清楚MVP这种设计模式.MVP是MVC的一种变体,View和Mode分别关注于UI的呈现和 ...

  8. Enterprise Library:DAAB + OLEDB/ODBC操作Access数据库

    许多开发人员没有意识到Enterprise Library Data Application Access Block可以连接很多ADO.NET支持的数据库.一个常见的问题是:Enterprise L ...

  9. 黄聪:Microsoft Enterprise Library 5.0 系列教程(九) Policy Injection Application Block

    代理对象(Proxy Object)会通过Handler链定位到真实对象(Real Object),而Policy则被注入到代理对象和真实对象中.整个流程如图: 我个人对Policy Injectio ...

最新文章

  1. 高逼格的 SQL 写法:行行比较,别问为什么,问就是逼格高。。
  2. python lambda匿名函数 用法
  3. 生成颜色代码的 Java程序
  4. 数学老师出的语文试卷,哈哈哈
  5. [ES6] 细化ES6之 -- 数组的扩展
  6. unity小技巧总结
  7. Linux系统手动安装rpm包依赖关系分析(以Kernel升级为例)
  8. EChart:EChart与NProgress结合异步加载数据
  9. STM32标准库(固件库)分析
  10. SVM多分类器的实现
  11. 纯HTML个人简历模板代码
  12. 【钉钉-场景化能力包】考勤统计
  13. iCloud云上贵州,2018数博会连接2亿多用户
  14. 计算机网络详解--套接字编程
  15. suse12搭建ntp服务器
  16. 学习资料分享——java视频教程及电子书免费下载
  17. mysql的check约束怎么设置_MySQL检查约束(CHECK)
  18. Luminar 4:AI 天空更换
  19. python线程创建对象_python线程池菜鸟教程
  20. min2440LCD驱动

热门文章

  1. Linux的网络管理命令使用总结
  2. Python模块之uuid
  3. T-SQL查询字符串的字节数和字符个数
  4. Windows中命令提示符被禁用的解决方法
  5. 国产木乃伊走进CTO编辑部
  6. G1垃圾收集器深度剖析
  7. 如何快速排查生产问题
  8. 收获,不止SQL优化——抓住SQL的本质--第二章
  9. php+apache 和 php+nginx的区别
  10. PHP中基本符号及使用方法