В одном из приложений я обращался к, Строка подключения хранится в AppSettings! До настоящего времени я хранил соединение в <connectionstring/>
элемент. Но каков корректный путь?
Таким образом, мой вопрос, между чем различия <connectionstrings>
и <appsettings>
в web.config и там какие-либо определенные причины, почему я должен или не должен хранить строки подключения в appsettings? Есть ли какие-либо правила / инструкции, предоставленные для следования? Или это - полностью выбор разработчика?
Существует фундаментальная разница между connectionString
и appSettings
:
Они ищут разные вещи. В .NET 2.0 и более поздних версиях:
Объект connectionString
- это узел XML, который имеет определенные атрибуты для установки; и семантически это относится к строке подключения к базе данных.
Например, connectionString
выглядит следующим образом:
<connectionStrings>
<clear/>
<add name="LocalSqlServer"
connectionString="Data Source=(local);Initial Catalog=aspnetdb;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Вы заметите, что у него есть несколько разных атрибутов:
name
connectionString
: это определенная строка. внутри него требуется Начальный каталог
, механизм безопасности (в данном случае Integrated Security
providerName
, тогда как appSettings
- это просто определяемый пользователем ключ пара -значение, которая позволяет вам ... ну ... устанавливать настройки приложения. Это может быть что угодно:
<appSettings>
<add key="Mom" value="Your"/>
<add key="UseCache" value="True"/>
<add key="MapsKey" value="1234567890-AA"/>
<add key="SMTPServer" value="smtp.peterkellner.net"/>
</appSettings>
Во многих случаях было бы просто odd поместить connectionString в значение ключа пара, например appSettings
(семантически и программно). Кроме того, это усложнило бы шифрование строки соединения, когда вам нужно .
Есть дополнительная информация о это из сообщения в блоге .
Строки подключения обычно хранятся в элементе
... и это хороший ориентир, поскольку он назван правильно.
Иногда вы можете использовать сторонний элемент управления или пользовательский элемент управления, который ищет строку подключения в ключе в элементе
. Это должно быть единственным исключением из правил.
Насколько я знаю, это не имеет большого значения, кроме того, что оно находится в «правильном» месте - главное преимущество помещения строк подключения в отдельный раздел (вы действительно ли шифруете строки подключения .. верно?), чтобы вы могли зашифровать этот раздел без шифрования всех настроек, которые вы, возможно, захотите изменить.
Кроме того, в IIS7 строки подключения можно поддерживать через соответствующее администрирование IIS7.