如何使用ConfigurationManager.AppSettings

我从来没有使用过“appSettings”之前。 如何在C#中configuration这个与SqlConnection一起使用,这是我使用的“ConnectionStrings”

SqlConnection con = new SqlConnection(); con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 

这就是我对“appSettings”

  SqlConnection con = new SqlConnection(); con = ConfigurationManager.AppSettings("ConnectionString"); 

但它不工作。

ConfigurationManager.AppSettings实际上是一个属性,所以你需要使用方括号。

总的来说,这是你需要做的:

  SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]); 

问题是你试图将con设置为一个string,这是不正确的。 您必须将其传递给构造函数或设置con.ConnectionString属性。

你的web.config文件应该有这样的结构:

 <configuration> <connectionStrings> <add name="MyConnectionString" connectionString="..." /> </connectionStrings> </configuration> 

然后,使用名为MyConnectionString的连接string创build一个SQL连接:

 SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString); 

如果您希望将连接string保留在configuration文件的AppSettings部分中,则如下所示:

 <configuration> <appSettings> <add key="MyConnectionString" value="..." /> </appSettings> </configuration> 

然后你的SqlConnection构造函数看起来像这样:

 SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["MyConnectionString"]); 

\如果你已经发布的正是你正在使用的那么你的问题是有点显而易见的。 现在假设在你的web.config你有连接string定义像这样

  <add name="SiteSqlServer" connectionString="Data Source=(local);Initial Catalog=some_db;User ID=sa;Password=uvx8Pytec" providerName="System.Data.SqlClient" /> 

在你的代码中,你应该使用name属性中的值来引用你想要的连接string(你实际上可以为不同的数据库定义几个连接string),所以你应该

  con.ConnectionString = ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString; 

你应该使用[]

 var x = ConfigurationManager.AppSettings["APIKey"];