您的位置:首页 > 编程语言 > C#

[转]c#配置文件

2015-10-15 17:25 225 查看
配置文件在很多情况下都使用到, 配置文件分为两种 一种是应用程序的配置文件, 一种是web的配置文件.

两种配置文件最大的区别是web的配置文件更新之后会实时更新, 应用程序的配置文件不会实时更新.

更新应用程序的配置文件之后需刷新

ConfigurationManager.RefreshSection("appSettings");// 刷新命名节,在下次检索它时将从磁盘重新读取它。

ConfigurationSettings也存在这个问题, 但是我还不知道怎么刷新节点,


<configuration>
<appSettings>
<add key="name" value="我是远程服务器"/>
</appSettings>
</configuration>

后台程序值得读取:

string s=System.Configuration.ConfigurationSettings.AppSettings["name"]; || ConfigurationManager.AppSettings["name"]); // 后者更好


System.Configuration.ConfigurationSettings.AppSettings["Key"];
但是现在FrameWork2.0已经明确表示此属性已经过时。并建议改为ConfigurationManager或WebConfigurationManager。并且AppSettings属性是只读的,并不支持修改属性值.

但是要想调用ConfigurationManager必须要先在工程里添加system.configuration.dll程序集的引用。(在解决方案管理器中右键点击工程名称,在右键菜单中选择添加引用,.net TablePage下即可找到)添加引用后可以用 String str = ConfigurationManager.AppSettings["Key"]来获取对应的值了。

更新配置文件:
Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//添加

cfa.AppSettings.Settings.Add("key", "Name")

//修改

cfa.AppSettings.Settings["BrowseDir"].Value = "name";

最后调用
cfa.Save();
当前的配置文件更新成功。

ConfigurationManager.RefreshSection("appSettings");// 刷新命名节,在下次检索它时将从磁盘重新读取它。记住应用程序要刷新节点

连接字符串写法:

<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\aspnet-MvcWeb-20150702180004.mdf;Initial Catalog=aspnet-MvcWeb-20150702180004;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
</connectionStrings>


问题:

<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="BLL" value="DDGW.Business.Bll.BusinessFactory,DDGW.Business" />
<add key="DAO" value="DDGW.Data.Dao.LinqDaoFactory,DDGW.Data" />
<add key="domain" value="http://localhost:9000" />
</appSettings>


其中的BLL、DAO后面的value什么意思
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: