`
terryfeng
  • 浏览: 507258 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Enterprise Library 4.1 Caching Block 图文笔记

阅读更多

image

image

一,下载并安装好Enterprise Library 4.1

二,新建一个Web应用程序

 

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

image

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

 image

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

image

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>

四,添加引用

image

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
Enterprise Library 4.1 目录:Enterprise Library 4.1 快速使用图文笔记 目录

分享到:
评论

相关推荐

    Enterprise Library 4.1 安装程序

    Enterprise Library 4.1 的核心组件包括: 1. **Data Access Application Block (DAAB)**:这是一个用于简化数据库交互的库,它提供了数据库连接的抽象和SQL命令的执行,支持多种数据库平台,如SQL Server、Oracle...

    Enterprise Library 4.1示例

    Enterprise Library 4.1 是微软 Patterns & Practices 团队开发的一个软件框架,它为企业级应用程序提供了一套可重用的、面向方面的编程组件。这个框架旨在帮助开发者解决常见的应用程序开发问题,例如数据访问、...

    Enterprise Library 4.1 学习资料

    Enterprise Library 4.1 是微软 Patterns & Practices 团队开发的一个强大的软件开发框架,它为.NET Framework 提供了一套可重用的、企业级的应用程序基础组件。这个学习资料包可能包含了关于如何使用和理解 ...

    Enterprise Library4.1中文教程

    Enterprise Library4.1中文教程,共8个模块。安全管理(Security Application Block), 缓存管理(Caching Application Block)...都一一做了介绍

    enterprise library 4.1 学习资料

    在《EnterpriseLibrary企业库V4.1中文学习手册.pdf》中,你将找到这些组件的详细说明,包括如何配置、如何在项目中使用以及各种示例代码。这本书将指导你理解每个应用块的工作原理,如何集成它们到你的项目中,以及...

    Enterprise Library V4.1 中文学习手册.PDF

    7. 安全应用块(Security Application Block, SAB):虽然不在V4.1版本中,但后续版本的Enterprise Library引入了安全应用块,用于处理认证、授权和加密等安全相关任务。 8. 依赖注入和面向切面编程(Dependency ...

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

    在V4.1版本中,Enterprise Library 提供了多个核心库,包括数据访问、日志记录、异常处理、配置管理、验证和缓存等。 1. 数据访问应用块(Data Access Application Block,DAAB):DAAB 提供了一种统一的方式来访问...

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

    Enterprise Library 的最新版本为 5.0,而本手册则涵盖了 Enterprise Library 4.1 版本的内容。 #### 二、Enterprise Library 5.0 组件概述 ##### 1. **Block(块)** Enterprise Library 由多个功能块组成,每个...

    Microsoft.Practices.EnterpriseLibrary dll文件集

    《Microsoft.Practices.EnterpriseLibrary:企业级开发框架的精髓》 Microsoft.Practices.EnterpriseLibrary,简称Enterprise Library,是由微软公司推出的面向.NET Framework的企业级开发框架,它为开发者提供了...

    [微软企业库] Microsoft Enterprise Library 5.0

    This release includes: Caching Block, Cryptography Block, Data Access Block, Exception Handling Block, Logging Block, Policy Injection Block, Security Block, Validation Block, and Unity; ☆ 文件清单...

    [微软企业库] Enterprise Library 3.0

    This release of Enterprise Library includes: Caching Application Block, Cryptography Application Block, Data Access Application Block, Exception Handling Application Block, Logging Application Block, ...

    EnterpriseLibrary系列课程1概述第3集

    EnterpriseLibrary是微软 Patterns & Practices 团队开发的一个开源软件库,专为.NET Framework设计,用于帮助企业级应用程序开发。这个框架提供了多种跨应用的解决方案,包括数据访问、日志记录、异常处理、验证、...

    Microsoft Enterprise Library 5.0

    **Microsoft Enterprise Library 5.0** 是微软发布的一个开源软件开发框架,专为构建企业级应用程序而设计。这个版本在2010年推出,它提供了多种可重用的、预配置的编程组件,帮助开发者解决常见的应用程序开发问题...

    Enterprise Library V5&V6;源码

    Enterprise Library 是一个由微软开发并维护的开源软件框架,主要用于简化.NET Framework上的企业级应用程序开发。这个框架提供了多个可重用的、针对常见应用程序开发问题的解决方案,包括数据访问、日志记录、验证...

    Enterprise Library学习资料

    Enterprise Library,又称为微软企业库(Microsoft Enterprise Library),是由微软公司开发并维护的一套面向.NET Framework的应用程序开发框架。这个库的主要目标是为开发者提供一组可重用的、设计良好的软件构件,...

    WCF服务中如何配置Microsoft.Practices.EnterpriseLibrary

    **标题:“WCF服务中如何配置Microsoft.Practices.EnterpriseLibrary”** 在Windows Communication Foundation(WCF)服务中,Microsoft.Practices.EnterpriseLibrary是一个强大的应用程序框架,它提供了多种实用...

    Enterprise Library 3.1

    5. **BlockFactory**:Microsoft.Practices.EnterpriseLibrary.BlockFactory.pdb 文件包含工厂模式的实现,使开发者能根据需求动态创建和管理对象,符合开闭原则,提高代码的灵活性。 6. **策略注入**:Microsoft....

    Microsoft.Practices.EnterpriseLibrary

    "Microsoft.Practices.EnterpriseLibrary" 是一个著名的软件开发框架,由微软公司开发并维护,用于帮助企业级应用程序构建过程中的常见任务。这个框架包含了多个库,旨在简化开发人员的工作,提高代码质量和可维护性...

    EnterpriseLibrary学习

    这些文件名如"EntLib50.chm"、"Enterprise+Lib+3.1+CHS.chm"和"EnterpriseLibrary企业库V4.1+中文学习手册.pdf"分别对应不同版本的EnterpriseLibrary文档,包括中文版,可以帮助读者深入理解每个版本的新特性和改进...

    Enterprise Library 5.0 源码

    Enterprise Library是微软 Patterns & Practices 团队开发的一个开源框架,主要目的是为了帮助企业级应用程序的开发,提供了一系列可重用的、面向任务的库,用于解决常见的软件设计问题。5.0 版本是该框架的一个重要...

Global site tag (gtag.js) - Google Analytics