当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ConfiguraionSource节点及多个配置文件的应用

ASP.NET
Internet Explorer 编程简述(二)在IE中编辑OLE嵌入文档
移动窗体
.NET 2.0获取数据库连接统计数据
VB.NET 拖动无边框的窗体
利用WH_CBT Hook将非模态对话框显示为模态对话框
Aspect#应用 - 权限验证
VB 从零开始编外挂(一)
【错误解决】Unable to find script library 'WebUIValidation.js'
VB 从零开始编外挂(四)
DTD指南(3)-DTD-Elements(元素)
知识库文章MDL9745154-File:Microsoft Visual Basic 运行时库
.net手机软件开发(六)OBEX应用:文件传输部分
在winform中使用WebBrowser控件时怎样去除IE的滚动条
WINZIP及WINRAR命令!!!!!
智能客户端相关Application Block结构功能分析(二)
如何在VB中操作EXCEL(一段代码,两个可以使用的过程)
在C#中用最简洁有效的代码执行存储过程并返回数据
.Net的Collection类的一些使用说明
ASP.NET实现数据图表c
用asp.net画饼图

ASP.NET 中的 ConfiguraionSource节点及多个配置文件的应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 151 ::
收藏到网摘: n/a

今天终于开始了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类实例来完成我们的操作了。我对这个冬冬也不是很熟,但我想我和他会成为好朋友的,因为我下一个项目准备用这个,虽然不是很大的项目,这样就可以巩固我的知识,呵呵!如果有什么错误请指正,谢谢!