有关.NET中的config文件的一些问题
时间:2011-06-01 来源:ValiancyHe
这两天写一个比赛的软件的数据层,大家都知道这种东西的数据库连接字最好甚至是必须写在配置文件里头的,以便在程序在不同的电脑上运行以及安装。好吧,那就app.config文件吧,怎么用C#获取配置文件里头的东西大家都很熟悉了吧,我查资料时一大堆,可是他们唯一让我问题没法解决的是他们都没有强调app.config文件的位置,或许这个是很菜的问题吧,但是或许有不少跟我一样刚入门的人有个疑惑,本人便在此写这点东西。
其实很简单,我们都对三层结构的软件开发很熟悉,而配置文件最多的用来存储数据库连接字,所以一般是在DA层,也就是数据层使用ConfigurationManager来获取配置文件的数据库连接字,但是DA层只是生成dll被UI所用,所以直接在DA项目里头的添加app.config是不行的,app.config必须在主项目里头,即生成exe的项目里头添加,添加好后编译运行后debug目录下会出现一个DATestForm.exe.config的文件,当然DATestForm是我的项目名,所以准确来说是一个 项目名.exe.config,编译运行成功后,以后当需要修改数据连接字的时候直接在这个文件里头改就行了,注意在项目文件夹里头有个app.config文件,只是在编译时有用,编译后修改debug目录下的config文件才能达到效果。
顺便写一下如何获取配置文件的内容吧:
先引用System.Configuration这个组件,然后using System.Configuration,就可以直接用ConfigurationManager了。
获取连接字代码:
private static string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
或者
private static string constr = ConfigurationManager.appSettings["ConnectionString"];
以下是app.config中需添加的内容,connectionString和appSettings两个内容添加一个就行了,两种方法都可以完成任务。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="constr"
connectionString="数据库连接字"
providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="ConnectionString" value="数据库连接字"/>
</appSettings>
</configuration>
这问题困扰我好一段时间了,终于解决了。再次证明了不细心和耐心地去编程,只会浪费很多时间而解决不了问题,所以以后一定要更细心和耐心!
第一次发文章,加油!