app.config的连接字符串和c#连接字符串之间有什么区别

时间:2012-10-19 19:24:26

标签: connection-string app-config

c#和app.config文件中的以下两行代码之间是否有任何区别。

C#connectionString声明。

string conn = "/server = test/ DB = test_dev/ env = dev"

app.config声明

<connectionStrings>
    <add name="Test" connectionString="Data Source=.;Initial Catalog=test_dev;" providerName="System.Data.SqlClient" />
</connectionStrings>

如何将c#连接字符串声明为app.config文件中的格式,以便我可以从app.config文件中读取。

2 个答案:

答案 0 :(得分:1)

在连接字符串的硬编码和从app.config文件中拉出一个字符串之间没有什么区别。

使用app.config的优点是您可以在应用程序的多个位置使用相同的连接字符串,然后如果您需要更改它(出于测试目的或其他任何地方),您只需要更改它在一个很好地包含在配置文件中的地方。

如评论中所述,要直接从app.config读取连接字符串,可以使用:

string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Test"];

虽然有许多不同的方法来访问连接字符串(DataSet等)

答案 1 :(得分:0)

要在C#代码中读取connectionString值,您可以访问System.Configuration.ConnectionStringSettingsCollection

System.Configuration.ConfigurationManager.ConnectionStrings 

将返回<connectionStrings></connectionStrings>部分

中定义的所有连接字符串的集合

您可以使用

按名称访问连接字符串
string conn = 
   System.Configuration.ConfigurationManager.ConnectionStrings["Test"];