Как использовать ConfigurationManager.AppSettings

Я никогда не использовал «appSettings» раньше. Как настроить это в C # для использования с 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 на строку, что неверно. Вы должны либо передать его конструктору, либо установить свойство con.ConnectionString.

Ваш файл web.config должен иметь web.config структуру:

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

Затем, чтобы создать SQL-соединение, используя строку подключения MyConnectionString :

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

Если вы предпочитаете сохранять свои строки подключения в разделе AppSettings в файле конфигурации, это будет выглядеть так:

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

И тогда ваш конструктор SqlConnection будет выглядеть так:

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

\ если то, что вы опубликовали, именно то, что вы используете, тогда ваша проблема немного очевидна. Теперь предположим, что в вашем web.config у вас есть строка соединения, определенная как это

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

В вашем коде вы должны использовать значение в атрибуте name, чтобы ссылаться на нужную строку соединения (вы могли бы фактически определить несколько строк подключения для разных баз данных), так что вы бы

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

вы должны использовать []

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