非常的慢入门使用了2个顶层的处理程序来捕获任何场景中的任何格外。处理程序突显了一个饱含特别音信的对话框。

快捷入门在营造和平运动行应用程序在此之前不必要履行别的安装步骤。[注意:默许的赶快入门配置不选拔持久后端存款和储蓄。]

立刻入门提供四个版本。第多少个版本选取工厂成立Enterprise Library
对象,例如利用CacheFactory.GetCacheManager 方法创设CacheManager
实例, 以及利用new操作符创制ProductData 实例。

第三个本子演示了集成Unity 应用程序块。创造和填充UnityContainer
实例是利用安插文件中<unity>配置节的数码。那会加载Enterprise
Library
核心和缓存应用程序块扩张。在那些高速入门也利用UnityContainer的Resolve
方法成立Main Form实例,从而导致Unity创制和注入Main
Form所必要的CacheManager 和ProductData 实例,他们是通过构造函数注入的。

构建并运行高效入门
高速入门以源代码的方式公布,这象征在运营从前必须编写翻译它,能够应用
Visual Studio 来创设便捷入门。
营造缓存连忙入门

  1. 肯定已设置 Enterprise Library 源代码
  2. 从 Windows 资源管理器中打开 Enterprise Library
    源码文件夹,可能用开始菜单急忙格局打开:在任务栏中,单击 发轫 ,指向
    程序 ,指向 Microsoft patterns and practices ,指向 Enterprise
    Library
    4.0 May 2008 ,然后选取 Enterprise
    Library 4.0 Source Folder
  3. 运营集成Unity应用程序块的实例,打开 QuickStarts 文件夹,然后是 Cache
    ,然后是 CS-UnityIntegration (用于 C#)或者 VB-UnityIntegration
    (用于 Visual Basic .NET)。
  4. 双击 CachingQuickStart.sln 图标。
  5. Visual Studio 打开、呈现化解方案文件。在菜单中,单击 生成 。
  6. 单击 重新生成消除方案 。暗许情形下,那是四个 debug 营造。
  7. 按下 F5 运营高效入门。

飞速入门配置
高速入门配置音讯放置在高效入门项指标文本夹中,它兼具下列属性:

  • 用来缓存操作节的缓存管理器被取名为“Default Cache
    Manager”。用于主动和低落加载缓存的节的缓存管理器被命名为“Loading
    Scenario Cache Manager”。
  • 数据仅写在内部存款和储蓄器中(而不是后端存款和储蓄)。
  • 每 60 秒发生三回到期周期。
  • 在缓存中有 一千 个条款时发生清理。
  • 从缓存中清理移除 10 个条款。

敏捷入门中的漫游带有定义好的配备,它被归纳在 App.config
文件中。那个文件放置在高效入门项目文件的文本夹中。
要修改或查看这么些设置,使用 Enterprise Library
配置控制台打开包涵火速入门项目文件目录中的 App.config 文件。App.config
包罗了配置数据。
在历次营造代码时,Visual Studio 复制 App.config
文件到品种的出口目录中(创设的便捷入门可执行文件的目录),并改名为
CachingQuickStart.exe.config 。
那代表一旦要选拔安排控制台修改任何配置安装,如到期周期,并且安排重建化解方案,就必须打开连忙入门源目录中的
App.config 文件来修改配置。可以用配备控制台打开
CachingQuickStart.exe.config
文件。不过,那一个改动将在下次功成名就创设中被遮盖。
那代表当使用布置控制台打开 App.config
文件并修改配置安装时,必须复制文件到输出目录。可以手工业复制,也能够重建项目来成功此目标。记住,简单的改动配置安装没有供给重建代码。运转在中标创设之上的通令是为了有利于营造。

骑行:添加条目到缓存中

出境游示范了何等添加条目到缓存中。

重建示例

  1. 布局缓存。须求的步子,请参见输入配置消息。
  2. 在 QuickStartForm 类中为 CacheManager 对象声澳优个分子变量。

private ICacheManager primitivesCache;

3.在 QuickStart_Load 方法中,添加下列代码以成立 CacheManager 。对
GetCacheManager 的调用没有包涵CacheManager
的称呼,所以工厂成立了声称在铺排文件中的暗许 CacheManager 对象。

this.primitivesCache = CacheFactory.GetCacheManager();

  1. 成立要添加到缓存中的条目。下列代码创造了一个 Product 类型的条文。

string id=”ProductOneId”;
string name = “ProductOneName”;
int price = 50;

Product product = new Product(id, name, price);

  1. 加上条目到缓存中。下列代码应用了 Add
    方法的一个重载,重载包括清理优先级(在此为2),条目在到期时不刷新的一声令下、从条目标终极访问时间开首的5分钟的到期时间。

primitivesCache.Add(product.ProductID, product,
CacheItemPriority.Normal, null,
                     new SlidingTime(TimeSpan.FromMinutes(5)));

出行:从缓存中移除条目

此游览示范了哪些从缓存中移除条目。
重建此示例

  1. 安顿缓存。供给的步调,请参见缓存飞快入门中的“连忙入门配置”。

  2. 在 QuickStartForm 类中为 CacheManager 对象声美素佳儿个成员变量。

private ICacheManager primitivesCache;

  1. 在响应用户请求从缓存中移除条目标法门中,添加下列代码。

    // Prompt the user for the key of the item to be removed.
    if (this.selectItemForm.ShowDialog() == DialogResult.OK)
    {
    // Request that the item be removed from the cache.
    this.primitivesCache.Remove(selectItemForm.ItemKey);
    }

    漫游:从缓存中拿走条目

此游览示范了怎么从缓存中获得条目。
重建示例

  1. 布局缓存。要求步骤,请参见缓存飞速入门中的“快捷入门配置”。

  2. 在 QuickStartForm 类中为 CacheManager 对象声圣元(Synutra)(Karicare)个分子变量。

private ICacheManager primitivesCache;

  1. 在响应用户请求从缓存中读取条指标方式中,添加下列代码。

    // Prompt the user for the key of the item to be read.
    if (this.selectItemForm.ShowDialog() == DialogResult.OK)
    {
    // Read the item from the cache. If the item is not found in the cache, the
    // return value will be null.
    Product product = (Product) this.primitivesCache.GetData(selectItemForm.ItemKey);
    }

骑行:清除缓存

此游览示范了什么铲除缓存,清空缓存中的全体数据。
重建此示例

  1. 布置缓存。需求步骤,请参见缓存火速入门中的“火速入门配置”。

  2. 在 QuickStartForm 类中为 CacheManager 对象声美素佳儿个分子变量。

private ICacheManager primitivesCache;

  1. 在响应用户请求清空缓存的主意中,添加下列代码。

    this.primitivesCache.Flush();

    漫游:加载缓存

敏捷入门的此节注解了哪些主动加载缓存和怎么被动加载缓存。
缓解方案概述
图 1 认证了火速入门如何从缓存中获取数据。

图片 1.png)

图 1 验证了哪些几点:

  • 归纳的成品数据被含有在 XML 文件 CachingQuickStartData.xml 中。
  • DataProvider 对象从 XML 文件中读取产品数量。
  • ProductData 对象使用 DataProvider 类获得丰裕到缓存中的产品数据。
  • QuickStartForm 对象通过调用 ProductData
    对象得到产品音信。在查询产品音信时,ProductData
    首先在缓存中查找,假诺找到,再次来到音信。对于从未在缓存中的条目,ProductData
    对象使用 DataProvider 来从文件中获取数据,然后添加到缓存中。

积极加载缓存
能够主动缓存数据以取得应用程序和经过所供给的拥有意况,平时在应用程序或然经过运行时,能够在应用程序也许经过的全方位生命周期内缓存数据。 
积极加载缓存

  1. 铺排缓存,定义名为 Loading Scenario Cache Manager 的 CacheManager
    的指标。对于供给的手续,请参见缓存快速入门中“火速入门的布置”。

  2. 在 ProductData 类中定义用于 CacheManager 对象的积极分子变量。

private ICacheManager cache;

  1. 经过添加下列代码来创设 CacheManager
    对象。工厂使用在布置文件中的名称来创建 CacheManager 对象。

cache = CacheFactory.GetCacheManager(“Loading Scenario Cache Manager”);

  1. 从 XML 文件中加载完整的数码集到缓存中。

List<Product> list = this.dataProvider.GetProductList();

for (int i = 0; i < list.Count; i++)
{
  Product product = listi;
  cache.Add(product.ProductID, product);
}

丧气加载缓存
能够被动的缓存数据以取得应用程序请求的数量,并缓存它以备以往的伸手使用。
被动加载缓存

  1. 计划缓存,定义名为 Loading Scenario Cache Manager 的 CacheManager
    的对象。对于要求的步调,请参见缓存快捷入门中“快捷入门的陈设”。

  2. 在 ProductData 类中定义用于 CacheManager 对象的积极分子变量。

    private ICacheManager cache;

  3. 通过抬高下列代码来成立 CacheManager
    对象。工厂使用在安顿文件中的名称来创立 CacheManager 对象。

    cache = CacheFactory.GetCacheManager(“Loading Scenario Cache Manager”);

  4. 增加下列在央求以赢得 Product 时将推行的代码。

    Product product = (Product)cache.GetData(productID);
    // Does our cache already have the requested object?
    if (product == null)
    {
    // Requested object is not cached; therefore, retrieve it from
    // the data provider and cache it for more requests.
    product = this.dataProvider.GetProductByID(productID);
    if (product != null)
    {
    cache.Add(productID, product);
    }
    }
    return product;

缓存与主数据源的比较
要查阅在缓存中的数据与主数据源中的数据有何样两样,单击 艾德it Master Data
按钮,然后修改 XML
文件中的有些值。如若在主数据修改以前条目已经在缓存中,并在改动后从缓存中获得它,从缓存中获得的数目将与主数据源中的数据不匹配。

相关文章

网站地图xml地图