ASP.NET web.config: атрибуты configSource и файлов

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

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

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

Ответ 1

атрибут 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