【问题标题】:What's the difference between app.config's connection string and c# connection stringapp.config的连接字符串和c#连接字符串有什么区别
【发布时间】:2012-10-10 11:18:56
【问题描述】:

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 文件中读取。

【问题讨论】:

  • 从 app.config 读取使用System.Configuration.ConfigurationManager.ConnectionStrings["Test"];

标签: connection-string app-config


【解决方案1】:

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

System.Configuration.ConfigurationManager.ConnectionStrings 

将返回&lt;connectionStrings&gt;&lt;/connectionStrings&gt; 部分中定义的所有连接字符串的集合

您可以使用名称访问连接字符串

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

【讨论】:

    【解决方案2】:

    硬编码连接字符串和从 app.config 文件中提取连接字符串并没有真正的区别。

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

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

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

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

    【讨论】:

    • 值得注意的是,您还可以在应用配置中定义多个连接字符串,并在应用中按名称引用它们,例如:“ProjectDB”、“LoggingDB”
    • 非常感谢您的快速回复。
    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 2013-02-01
    • 2012-09-28
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 2011-03-05
    相关资源
    最近更新 更多