Как использовать ConfigurationManager.AppSettings
Я никогда раньше не использовал "appSettings". Как настроить это в С# для использования с SqlConnection, это то, что я использую для "ConnectionStrings"
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
И это то, что у меня есть для "appSettings"
SqlConnection con = new SqlConnection();
con = ConfigurationManager.AppSettings("ConnectionString");
но он не работает.
Ответы
Ответ 1
ConfigurationManager.AppSettings на самом деле является свойством, поэтому вам нужно использовать квадратные скобки.
В целом, вот что вам нужно сделать:
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
Проблема заключается в том, что вы пытались установить con для строки, что неверно.
Вы должны либо передать его конструктору, либо установить свойство con.ConnectionString.
Ответ 2
Ваш файл 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"]);
Ответ 3
\ если то, что вы разместили, именно то, что вы используете, тогда ваша проблема немного очевидна. Теперь предположим, что в вашем 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;
Ответ 4
вы должны использовать []
var x = ConfigurationManager.AppSettings["APIKey"];