Enterprise Library Step By Step系列(二) 配置应用程序块

一.响应配置变更通知:

Configuration Application Block提供了一个事件机制,当存储的配置变更时通知应用程序 ,使用步骤:

1)创建一个EverntHandler

1/**//// <summary>
2    /// 创建EventHanler
3    /// </summary>
4    /// <param name="sender"></param>
5    /// <param name="args"></param>
6    private void OnConfigurationChanged(object sender, ConfigurationChangedEventArgs args)
7    {
8      Cursor = System.Windows.Forms.Cursors.WaitCursor;
9
10      EditorFontData configData = ConfigurationManager.GetConfiguration("EditorSettings") as EditorFontData;
11
12      StringBuilder results = new StringBuilder();
13      results.Append("Configuration changes in storage were detected. Updating configuration.");
14      results.Append(Environment.NewLine);
15      results.Append("New configuration settings:");
16      results.Append(Environment.NewLine);
17      results.Append('\t');
18      results.Append(configData.ToString());
19      results.Append(Environment.NewLine);
20
21      Cursor = System.Windows.Forms.Cursors.Arrow;
22    }

2)注册事件

1/**////注册事件
2    ConfigurationManager.ConfigurationChanged += new ConfigurationChangedEventHandler(OnConfigurationChanged);

二.配置数据的缓存:

Configuration Application Block在设计时提供了对配置数据的缓存,在读取XML数据后,再次读取它首先会判断缓存是否为空,如果不为空,它会直接从缓存中读取数据(在剖析篇中会有详细的介绍)。

显式的清除掉缓存用下面这句代码即可:

1/**////清除缓存数据
2     ConfigurationManager.ClearSingletonSectionCache();

三.面向高级人员的扩展机制:

1. 除了用XML文件可以存储数据外,还可以创建自己的存储方式,像SQL Server Database,注册表存储等,这时就需要我们自己创建StorageProvider。创建自定义的Storage Provider,需要注意以下几点:

1)要读取和写入数据,需要继承于StorageProvider类和分别实现IStorageProviderReader和IstorageProviderWriter接口:

1public class XmlFileStorageProvider : StorageProvider, IStorageProviderWriter
2    {
3      //……
4    }

时间: 2024-12-02 06:38:49

Enterprise Library Step By Step系列(二) 配置应用程序块的相关文章

Enterprise Library 4.1学习笔记1----配置应用程序块(c/s和b/s均适用)

园子里TerryLee的Enterprise Library系列文章回顾与总结 http://www.cnblogs.com/Terrylee/archive/2006/08/01/464591.html已经写得很全面了,不过不是针对4.1版,一边看这一系列的文章学习,一边在4.1上摸索,准备写几篇学习笔记,今天先来认识Configuration Application Block(配置应用程序块) 参照TerryLee的文章,在4.1上怎么也找不到Configuration Applicati

Enterprise Library 4.1学习笔记3----安全应用程序块

打开\EntLib41Src\Quick Starts\Security\CS 先用aspnet_regsql.exe配置一个membership/role的基本数据库,然后修改下config文件中的连接字符串 运行后会发现界面上有一段文字 Note: Much of the functionality demonstated by this QuickStart was implemented in previous versions of Enterprise Library, but th

Enterprise Library 4.1学习笔记5----实体验证程序块

实体验证的作用简单来讲,就是从服务端对数据进行验证.(特别是对数据安全性要求比较高的应用,这是十分必要的) 废话不说了,直接讲下使用步骤:(因为我是做web开发的,主要是讲解asp.net环境中的使用) 1.先添加Microsoft.Practices.EnterpriseLibrary.Validation.dll的引用 2.最基本的使用方法(也是我最不喜欢的一种方式),直接在实体类上通过添加特性实现 实体类如下: public class Person{            [String

Enterprise Library 4.1学习笔记6----加密应用程序块

学习这一块内容前,先得大概知道"哈希算法"和"对称加密算法"是咋回事儿. 不清楚的先去这里充电5分钟再回来 哈希算法------http://baike.baidu.com/view/273836.htm 对称加密算法--http://baike.baidu.com/view/7591.htm 使用步骤: 1.先添加Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.dll的引用 2.参照http:

Enterprise Library 4.1学习笔记4----缓存应用程序块

缓存是个啥?以及为啥要用缓存就不废话了,主要是从实用角度讲下怎么用 1.先添加对Microsoft.Practices.EnterpriseLibrary.Caching.dll的引用 2.修改web.config文件,注意高度部分 <configSections>    ...    <section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Cachin

Enterprise Library 4.1学习笔记8----缓存应用程序块之FileDependency

写入缓存数据时如果使用了FileDependency方式,最终的效果会让缓存是否过期依赖于某一个具体的文件,只要这个文件没有修改,缓存一直 有效,反之如果这个文件被修改过了,则缓存立即过期. 个人认为,这种方式特别适合一些极少修改的数据(比如系统中的数据字典),而且相对用绝对时间(或是时间周期)让缓存过期,更能减轻数据 库压力,毕竟如果用时间做判断,时间点一到,就得重新从数据库里查询数据(不管数据有没有被修改). 应用场合:某些基础数据几乎极少修改,可能一个月还改不到一回,这时我们可以考虑Fil

架构那点事系列二 - 大话3D

       近几年,架构领域兴起了很多新型架构思想.DDD成为继OOD之后又一个被人津津乐道的设计风格..这里结合自己工作实践,和大家分享一下自己的DDD实践观,首先向大家推荐一篇关于DDD的文章(http://msdn.microsoft.com/en-us/magazine/hh547108.aspx.看看微软的卓越工作,从DataTable到EntityObject. - Net 4.0来了,随之为我们带来了EntityFramework).这里,我们抛开语言特性,从本质上分析一下DDD

Enterprise Library Step By Step系列(一) 配置应用程序块

写在前面: 最近准备写Enterprise Library Step By Step的系列文章,对于每一个应用程序块,我都会用入门篇,进阶篇,剖析篇三篇文章去写. 在入门篇里会详细介绍应用程序块的使用步骤,主要是针对新手入门的:进阶篇会介绍一些应用程序块的更深的应用及扩展机制:剖析篇会去分析应用程序块的底层设计和类设计的一些内容.所有的观点都纯属个人理解,有不当之处请大家多多指教. 一.配置应用程序块概述: 几乎每一个应用程序都需要一些配置信息,这些信息可以是简单的数据库连接信息,或者复杂的多块

Enterprise Library Step By Step系列(十二)异常处理应用程序块

一.把异常信息Logging到数据库 在日志和监测应用程序块中,有朋友提意见说希望能够把异常信息Logging到数据库中,在这里介绍一下具体的实现方法. 1.创建相关的数据库环境: 我们可以用日志和监测应用程序块自带的SQL语句来创建相关的数据库环境: 创建数据库: CREATE DATABASE [Logging] ON (NAME = N'Logging', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\Loggi

Enterprise Library Step By Step系列(十五) 配置应用程序块

概述 配置应用程序块为应用系统提供了一个通用的配置管理解决方案,可以方便的从各种存储中读取配置信息.在设计上旨在提供一个用于读/写配置数据的简单接口,实现配置数据的读写与数据的存储相分离.使用Storage Provider 和 Transformers在应用和物理存储之间传递数据,同时采用抽象AbstractFactory模式生成Provider数据.先解释一下配置应用程序块中用到的两个重要的概念: Storage Provider是读写某个物理存储的对象,比如XML文件或SQL数据库 Tra