App.config 两种版本读取方式(appSettings 和 applicationSettings 的区别)
ApplicationSettings是.net 2.0之后出现的,appSettings是.net 1.1的方式. 其实.net 2.0之后两个都可以用
方式一:.net2.0 之前 appSettings
xml 内容:
<connectionStrings>
<add name=" connString " connectionString="Data Source=127.0.0.1;Initial Catalog=test;User ID=sa;Password=123" />
</connectionStrings>
<appSettings>
<add key=" logpath " value="d:\test.txt"/>
</appSettings>
读取方式:
string sConnectionString = ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
string sPath = ConfigurationManager.AppSettings["logpath"]
VS2005中用第一种读取方式,需要手动添加app.config内容(appSettings字段),
而且使用ConfigurationManager时要加上 using System.Configuration; 同时添加System.Configuration.dll引用
还有一点就是应用程序目录必须存在MyProject.exe.config文件,否则exe会打不开!
方式二: .net2.0之后 applicationSettings
xml 内容(参数直接在 Project-> Properties ->Settings界面设置,更方便):
<connectionStrings>
<add name="MyProject.Properties.Settings.connstring" connectionString="Data Source=127.0.0.1;Initial Catalog=test;Persist Security Info=True;User ID=sa;Password=123"
providerName="System.Data.SqlClient" />
</connectionStrings>
<applicationSettings>
<MyProject .Properties.Settings>
<setting name="WebSrv" serializeAs="String">
<value>http://localhost/MyWebSrv/Service.asmx</value>
</setting>
</ MyProject .Properties.Settings>
</applicationSettings>
<userSettings>
<MyProject .Properties.Settings>
<setting name=" LogPath" serializeAs="String">
<value>D:\\log.txt</value>
</setting>
</ MyProject .Properties.Settings>
</userSettings>
读取方式:
string sConnectionString = MyProject .Properties.Settings.Default. connString;
string sUrl = MyProject .Properties.Settings.Default. WebSrv ;
string sPat = MyProject .Properties.Settings.Default.LogPath;
使用第二种方式的优点是直接可以在Settings界面中编辑内容,还可以构建和测试connectionString字段, 参数配置更直观.
应用程序目录不必一定要有MyProject.exe.config文件,如果没有该文件,读出的值是编译时设置的值,否则读取该文件中的值.