缓存应用程序块为解决开发人员在缓存数据时所面对的绝大多数任务而设计。这些任务根据场景进行了组织,每个场景都给出了一个真实世界情况的示例,如添加条目到缓存,讨论了情况所需要的缓存功能,并展示了完成任务的代码。

根据场景组织这些任务的目的是给代码一个上下文环境。代替描述一组孤立的方法,以及无意义的可被最佳使用的地方,场景为代码提供了一个设置,并在对许多应用程序必须缓存数据的开发人员来说相似的情况中使用它。

被讨论的场景如下:

  • 选择并配置一个缓存存储

  • 添加一个条目到缓存,并设置它的过期时间

  • 从缓存中移除一个条目

  • 从缓存中获取一个条目

  • 清除缓存

决定何时使用缓存应用程序块

缓存应用程序块被设计工作在绝大多数常规数据缓存情况中,当它是应用程序且缓存已存在于同样的系统中时。这意味着缓存是局部的,并且仅能由那个应用程序所使用。当它在这些原则中操作时,应用程序块解决下列情况是完美的:

需要跨不同应用程序环境的一致形式的缓存的情况

例如,使用缓存应用程序块,开发人员可以编写相似的代码来实现宿主在Internet 信息服务(IIS)中的应用程序组件、企业服务和智能客户端环境中的缓存。同时,同样的缓存配置选项已存在于所有的环境中。

需要可配置和持久化后端存储的情况

缓存应用程序块同时支持独立存储和数据库后端存储。开发人员可以创建其他后端存储并使用它的配置设置添加它们到缓存应用程序块中去。应用程序块在缓存条目的数据被持久化到后端存储前加密它。

需要修改缓存配置设置而不需要修改应用程序源码的情况

开发人员首先可以缩写使用一个或多个命名缓存的代码,系统操作员和开发人员可以随后用 Enterprise Library 配置控制台不同地配置每个命名缓存。

需要下列任何过期设置的情况:绝对时间、滑动时间、扩展的时间格式(例如,每个午夜)、文件依赖或者永不过期

关于使用过期设置的更多信息,请参见过期处理的设计。

开发人员打算修改缓存应用程序块的源码

关于修改缓存应用程序块的更多信息,请参见修改缓存应用程序块。

另外,缓存应用程序块提供了与其他 Enterprise Library 应用程序块一致的开发模型。缓存应用程序块为后端存储功能与数据访问应用程序块进行了无缝集成。以同样的方式,安全应用程序块包含了由缓存应用程序块提供的缓存能力。开发人员和操作人员使用 Enterprise Library 配置控制台配置应用程序块。

使用缓存应用程序块的其他选择

由其他缓存解决方案更好服务的情况是当多个应用程序使用缓存或者当缓存和应用程序不在同一系统中时。例如,不能跨越一个 Web farm 同步缓存。

ASP.NET 缓存

.NET 框架在 System.Web 命名空间中包含了 ASP.NET 缓存,ASP.NET 应用程序开发者通过 System.Web.HTTPContext.Cache 对象访问这个缓存。ASP.NET 缓存被开发并为 ASP.NET 应用程序进行了调整。然后,这个缓存也可以通过访问 System.Web.HTTPRuntime.Cache 对象来在 ASP.NET 应用程序之外使用。ASP.NET 缓存需要 System.Web 程序集,开发人员要验证该程序集在需要的平台和目标环境中是受支持的。

安全

尽管可以加密缓存在后端存储中的数据,缓存应用程序块不支持缓存在内存中的数据加密。如果恶意用户找到危及系统安全的方法,并访问到应用程序进程的内存,他或她将能访问存储缓存中的信息。如果这对应用程序来说是重大威胁,就不要在缓存中存储敏感信息,如信用卡号码或密码。

转载于:https://www.cnblogs.com/doriandeng/archive/2007/10/23/935174.html

7.1.1 [Enterprise Library]缓存应用程序块场景和目标相关推荐

  1. Enterprise Library—缓存应用程序块

    Enterprise Library缓存应用程序块 前言 在介绍Cache Application Block之前,我们现了解一下缓冲存储.缓冲存储分为内存驻留型缓冲和磁盘驻留型缓冲. 1)内存驻留型 ...

  2. Enterprise Library 缓存应用程序块快速入门

    Enterprise Library 快速入门是简单的.易于理解的应用程序块关键特性的示例,使用了一个实现了常规场景的漫游集合来说明这些特性. 如果要理解一个应用程序块,快速入门将是理想的起始点,并且 ...

  3. 扩展和修改 Enterprise Library 缓存应用程序块

    在它的原始状态中,缓存应用程序块在典型的缓存情况下工作得很好,然而,许多时候你不得不定制应用程序块的某些行为以更好的适用于应用程序的特定环境.在此有二种方法可以用来定制:扩展和修改. 扩展应用程序块 ...

  4. 部署和操作 Enterprise Library 加密应用程序块

    本文维护在:http://wiki.entlib.net.cn/EntlibHelp31CryptographyApplicationBlock.ashx 管理员的需要确认加密应用程序块的初始部署是有 ...

  5. 第 7 章 缓存应用程序块

    缓存应用程序块介绍 Enterprise Library 缓存应用程序块允许开发人员在应用程序中合并一个局部缓存,它支持内存内的缓存,和可选的可以是数据库存储或独立存储的后端存储.应用程序块可以不做修 ...

  6. Enterprise Library 4.0简介及改进

    Enterprise Library简介 Enterprise Library 4.0 – May 2008是Microsoft patterns & practices Enterprise ...

  7. Enterprise Library 4 缓存应用程序块的设计

    缓存应用程序为以下目的而设计: 提供一个大小可管理的 API 集合. 允许开发人员添加标准的缓存操作到他们的应用程序中,而不用学习应用程序块的内部工作. 用 Enterprise Library 配置 ...

  8. Enterprise Library 4 数据访问应用程序块

    Enterprise Library 数据访问应用程序块简化了实现常规数据访问功能的开发任务.应用程序可以在各种场景中使用此应用程序块,例如为显示而读取数据.传递数据穿过应用程序层( applicat ...

  9. 1.2 Enterprise Library 应用程序块

    版权所有(c) 2007  Dorian Deng.署名 共享 非商用. 转载请注明出处:http://www.cnblogs.com/doriandeng/archive/2007/09/29/91 ...

最新文章

  1. 如何设计一门语言(十一)——删减语言的功能
  2. 需要进一步学习和思考的速度问题
  3. 云重磅 | 没有硬件,苹果发布多款“云服务”;阿里云发布基于公共云的虚拟GPU服务;中国移动首发5G套餐...
  4. xcodebuild构建时报错unknown error -1=ffffffffffffffff Command /bin/sh failed with exit code 1
  5. 献给初学者,[winform]中如何设计高效全局的快捷键?[ShortcutKeys]
  6. 51nod1712 区间求和
  7. bzoj 1010: [HNOI2008]玩具装箱toy
  8. CentOS向日葵安装
  9. win10计算机ser,win10 ch341ser.inf安装失败如何处理_win10无法安装ch341ser.inf修复方法...
  10. 文本溢出显示省略号并显示tooltip组件
  11. 苹果CMSv10插件/本地解析播放器-videojs解析 整合苹果cmsV10程序
  12. Groundhog Chasing Death
  13. 同一个电脑安装多个jdk版本
  14. allow_pickle什么意思_in pickle是什么意思
  15. 反射机制的优点与缺点
  16. java博客推荐(收集好的博客)
  17. Android MediaPlayer播放视频详细步骤
  18. 深度学习笔记之关于常用模型或者方法
  19. 批处理为win7桌面添加计算机图标,Win7桌面箭头去除工具
  20. .bashrc 文件作用

热门文章

  1. 《Ansible权威指南 》一 第一篇 Part 1 基础入门篇
  2. Kali Linux Web***测试之 WebSploit
  3. WinXp安装Oracle 11g Express Edition
  4. 全球比特币和区块链领域创业企业全景图
  5. 【区块链Go语言实现】区块链基本原型
  6. Python字符串方法用示例解释
  7. 待办事项优先级 开发_如何通过创建主题待办事项确定学习内容的优先级
  8. javascript_JavaScript疲劳疲劳
  9. 用计算机的英语造句process,process的用法总结大全
  10. matlab数值分析拟合实例,数值分析函数拟合matlab代码.doc