使用Enterprise Library将配置信息存储到数据库
版权申诉
133 浏览量
更新于2024-07-03
收藏 361KB DOC 举报
"本文档主要介绍如何将配置信息从传统的配置文件转移到数据库中,使用Enterprise Library的SqlConfiguration Source实现这一目标。"
在IT行业中,管理应用程序的配置信息通常依赖于配置文件,如应用程序配置文件或外部配置文件。然而,将配置信息存储在数据库中可以提供更高的灵活性和安全性。Enterprise Library提供了一个名为ConfigurationSource的抽象概念,允许开发者选择不同的方式来存储和获取配置信息。在本文档中,我们将重点讨论如何利用SqlConfiguration Source将配置信息保存到数据库。
1. 编译SqlConfiguration
首先,你需要访问Enterprise Library的安装目录下的QuickStarts文件夹,并编译SqlConfiguration项目。编译完成后,需要将生成的dll文件(例如Microsoft.Practices.EnterpriseLibrary.SqlConfigurationSource.dll)以及设计时支持文件复制到你的应用程序的bin目录中。同时,还需要包含相关的XML配置文件和可能需要的COM互操作库(如Interop.MSDASC.dll)。
2. 创建数据表和存储过程
为了使用SqlConfiguration Source,需要在数据库中创建相应的结构。这通常涉及运行一个SQL脚本(如SqlConfiguration.sql)来创建一个名为`Configuration_Parameter`的数据表和四个相关的存储过程。确保在运行脚本前将其另存为Unicode格式,以避免编码问题。默认情况下,这些对象会被创建在Northwind数据库中,但你可以根据需求修改脚本以适应你的数据库环境。
3. 配置应用程序
完成数据库准备后,可以开始配置应用程序以使用SqlConfiguration Source。在新的项目中,添加对Enterprise Library的引用,并在应用程序的配置文件(如app.config或web.config)中设置SqlConfiguration Source。这通常包括指定数据库连接字符串、配置源类型以及可能的其他参数。
以下是一个配置示例:
```xml
<configuration>
<configSource>
<add name="DatabaseConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Configuration.Database.ConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Configuration.Database, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="MyConnectionString" />
</configSource>
</configuration>
```
在这里,`MyConnectionString`是你在`connectionStrings`部分定义的用于连接到数据库的字符串。
4. 使用应用程序块
配置完成后,你可以像平常一样使用Enterprise Library的应用程序块,但配置信息现在将从数据库中读取而不是配置文件。例如,如果你使用Data Access Application Block,数据库中的配置信息将决定数据访问的行为。
通过这种方式,配置信息的管理和更新变得更加集中和安全,因为它们不再存储在易于被修改的文本文件中。此外,这种方式也便于在多服务器环境中进行配置同步,提高了系统的可维护性。
2022-06-17 上传
2011-01-12 上传
2023-05-29 上传
2023-06-13 上传
2023-06-10 上传
2023-04-12 上传
2023-05-05 上传
2023-06-09 上传
2023-06-03 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
老帽爬新坡
- 粉丝: 87
- 资源: 2万+
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储