ConfiguraionSource节点及多个配置文件的应用

今天终于开始了EnterpriseLibrary的进程了,边看边学,在这里要感谢TerryLee前辈,看了你的文章得到了不少知识,让我更容易进入状态。由于刚刚接触到这个咚咚对他还有点陌生,无论是哪个项目配置文件肯定是我们研究的切入点,所以首先当然是要看看Enterprise Library对配置文件的一些做法。

安装EnterpriseLibrary后,VS中的配置文件就默认用它带的Enterprise Library Configration来打开,为了看看配置文件Web.config的变化用源文件格式打开,后来再用那个打开就会出错:“尝试读取或写入受保护的内存。通常指示其他内存已损害。”如果有知道的同学请告诉我一下,谢谢啦!在TerryLee的文章中发现有一个Configuration Application Block,但是在现在的这个版本或是2.0版本就没有这个节点了,只有Configuraion Sources,而这个节点包含两个子节点:File Configuration Source和System Configuration Source,默认的是System Configuration Source也就是Web.config或App.config配置文件。

默认时我们可以通过SystemConfigurationSource类来完成,该类继承自IConfigurationSource接口。通过GetSection()等方法可以对其进行操作,值得一提的是在EnterpriseLibrary中对配置的文件读取是进行缓存的,当然我们在更改配置文件后要通知系统消除缓存重新读取并缓存。其实我们更本不需要知道他是怎么缓存的,只要告诉他我们已经更改了配置文件。由于我还没有很明白其中的道理所以在这也不能把整个机理说出来,其实在默认配置时我们基本不要管他,例如我们可以直接用Data Access Application Block中的DataProviderFactory来创建一个抽象的Database实例,而EnterpriseLibrary已经封装好了整个过程。

如果我们要用FileConfigurationSource当然也是要用这个类来读取配置文件中的信息了,我对这个比较感兴趣,就像前几天有个人问我为什么不喜欢Session一样,这是说不出来的,可能和我这个人有点关系。不喜欢并不是不用或不会用,我们都是懒人,那个简单就用那个吗?嗬嗬!在我现在有限的资源内,好像要将配置放在其他文件中,肯定要有Web.config和App.config文件的存在,并且配置其他配置文件的文件名称和Provider。下面我们以连接字符串为例子来看看对Data.config文件的读取是怎么样的。如果把这个选项配置成默认则就可以直接通过DataProviderFactory来完成,如果不是就要通过下来代码来创建:

FileConfigurationSource source = new FileConfigurationSource("Data.config");

DatabaseProviderFactory dbFactory = new DatabaseProviderFactory(source);

Database db = dbFactory.Create("ConnectionStringName");

这样我们就得到了Database类实例来完成我们的操作了。我对这个冬冬也不是很熟,但我想我和他会成为好朋友的,因为我下一个项目准备用这个,虽然不是很大的项目,这样就可以巩固我的知识,呵呵!如果有什么错误请指正,谢谢!

(0)

相关推荐

  • ConfiguraionSource节点及多个配置文件的应用

    今天终于开始了EnterpriseLibrary的进程了,边看边学,在这里要感谢TerryLee前辈,看了你的文章得到了不少知识,让我更容易进入状态.由于刚刚接触到这个咚咚对他还有点陌生,无论是哪个项目配置文件肯定是我们研究的切入点,所以首先当然是要看看Enterprise Library对配置文件的一些做法. 安装EnterpriseLibrary后,VS中的配置文件就默认用它带的Enterprise Library Configration来打开,为了看看配置文件Web.config的变化用

  • springboot读取自定义配置文件节点的方法

    今天和大家分享的是自定义配置信息的读取:近期有写博客这样的计划,分别交叉来写springboot方面和springcloud方面的文章,因为springboot预计的篇章很多,这样cloud的文章就需要等到很后面才能写了:分享这两种文章的原因主要是为了方便自己查找资料使用和对将要使用的朋友起到便捷作用: •@Value标记读取(默认可直接读取application.yml的节点) •实体映射application.yml的节点 •实体映射自定义配置文件的节点 •实体映射多层级节点的值 @Valu

  • 使用maven profile指定配置文件打包适用多环境的方法

    开发过程, 我们习惯把数据源配置, 项目常量, 日志配置等基础数据配置写到一个个单独的的文件中. 如jdbc.properties等各种.格式的文件. 如何不频繁修改配置文件, 随时打包不同基础数据配置信息的项目. 1.新建maven项目,   在pom.xml中添加 profile节点信息如下: <profiles> <profile> <!-- 开发环境 --> <id>dev</id> <properties> <envi

  • 解决在Web.config或App.config中添加自定义配置的方法详解

    .Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持.最近看到一些项目中还在自定义xml文件做程序的配置,所以忍不住写一篇用系统自定义配置的随笔了.如果你已经对自定义配置了如指掌,请忽略这篇文章.言归正传,我们先来看一个最简单的自定义配置 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" ?> <configura

  • jsp+servlet+javabean实现数据分页方法完整实例

    本文实例讲述了jsp+servlet+javabean实现数据分页方法.分享给大家供大家参考,具体如下: 这里秉着且行且记的心态,记录下学习过程,学得快忘得快,生怕遗忘,以备日后使用. 用到的部分代码是自己在网上查找,并自己修改,加上自己的理解.也不知道算不算原创,只做自己学习记录. 使用相关:PostgreSQL数据库.dom4j.JSP.Servlet 一.首先是工程格局,来个全局视图方便读者与自己查看与使用 思路为: 以config.xml文件记录配置信息,以方便数据库更改,方便移植与重用

  • win2003服务器下配置 MySQL 群集(Cluster)的方法

    MySQL 群集是一种技术,该技术允许在无共享的系统中部署"内存中"和"磁盘中"数据库的 Cluster .通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求.此外,由于每个组件有自己的内存和磁盘,不存在单点故障.MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括 MySQL 服务器,NDB Cluster 的数据节点,管理服务器,以及(可能存在的)专门的数据访问程序. 管理服务器(MGM节点)负责管理 Cluster

  • 一天一个shell命令 linux文件操作系列-ln命令详解

    里提示一下:ubuntu的翻译很多都是字面直译,存在很多问题,所以建议大家参照我这里的解释.当然本来也是有些赶文的嫌疑,望指正. 经常在linux上操作,有在不同的目录下切换某几个固定的命令,或者修改几个固定的文件,这时候,如果能在一个目录下就操作他们,会是一件多么轻松的事情.我们来看看链接命令ln 全称 ln 全称是link 顾名思义,这是一个建立一个链接.怎么去理解呢?它的功能类似于Mac OS的别名或者Windows的快捷方式, 删除不会影响文件本身. 说明:(直接看看斜体,就行了) 链接

  • Windows Server 2003 下配置 MySQL 集群(Cluster)教程

    MySQL 群集是 MySQL 适合于分布式计算环境的高可用.高冗余版本.它采用了 NDB Cluster 存储引擎,允许在 1 个群集中运行多个 MySQL 服务器.在 MySQL 5.0 及以上的二进制版本中,以及与最新的 Linux 版本兼容的 RPM 包中提供了该存储引擎. MySQL 群集是一种技术,该技术允许在无共享的系统中部署"内存中"和"磁盘中"数据库的 Cluster .通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求.此外,由于

  • mysql主从复制读写分离的配置方法详解

    一.说明 前面我们说了mysql的安装配置,mysql语句使用以及备份恢复mysql数据;本次要介绍的是mysql的主从复制,读写分离;及高可用MHA; 环境如下: master:CentOS7_x64 mysql5.721 172.16.3.175 db1 slave1:CentOS7_x64 mysql5.7.21 172.16.3.235 db2 slave2:CentOS7_x64 mysql5.7.21 172.16.3.235 db3 proxysql/MHA:CentOS7_x64

  • keepalived结合nginx实现nginx高可用的方法

    1.简介 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障.一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性.Keepalived是VRRP的完美实现,因此在介绍keepalived之前,先介绍

随机推荐