ASP.NET web.config: configSource и атрибуты файла - PullRequest
168 голосов
/ 04 августа 2011

В файле web.config в ASP.NET-приложении некоторые разделы конфигурации, такие как appSettings и connectionStrings, поддерживают атрибуты file и configSource.

В чем разница между использованием атрибута file и атрибута configSource?Когда вы должны использовать какой атрибут и можете ли вы использовать оба?

<?xml version="1.0"?>
<configuration>
  <appSettings file="AppSettings.config">
  </appSettings>
  <connectionStrings configSource="ConnectionStrings.config">      
  </connectionStrings>
  <!-- ... -->
</configuration>

1 Ответ

272 голосов
/ 04 августа 2011

file атрибут

  • Указывает относительный путь к внешнему файлу, который содержит пользовательские параметры конфигурации приложения
  • специфично для appSettings секции
  • будет объединять (и переопределять) настройки в файле .config
  • не приведет к перезапуску веб-приложения при изменении указанного файла
  • http://msdn.microsoft.com/en-US/library/ms228154(v=vs.100).aspx
  • Использование Конфигурация . AppSettings . Настройки . Добавление API приведет к объединению всех настроек обратно в основной .config на конфигурации . Сохранить вызов.
  • начиная с .NET 1.1
  • Исключение не выдается, если файл не существует.

configSource атрибут

Атрибут file указывает внешний файл, содержащий пользовательские настройки, как вы делаете в записи appSettings файла web.config. Между тем, внешний файл, указанный в атрибуте configSource, содержит параметры раздела, для которого вы объявляете configSource. Например, если вы используете атрибут configSource в разделе страниц, то внешний файл будет содержать настройки для раздела страниц.

Пользовательские настройки, объявленные во внешнем конфиге, указанном в Атрибут файла будет объединен с настройками в appSettings раздел в файле web.config. В то же время, configSource не поддерживает слияние, это означает, что вам придется переместить весь раздел настроек во внешний файл.

http://www.codeproject.com/Messages/1463547/Re-difference-between-configSource-and-file-attrib.aspx

...