ASP.NET web.config: configSource и атрибуты файла
В пределах 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 ответ
file
атрибут
- Указывает относительный путь к внешнему файлу, который содержит пользовательские параметры конфигурации приложения
- специфичные для
appSettings
раздел - объединит (и переопределит) настройки в файле.config
- не приведет к перезапуску веб-приложения при изменении указанного файла
- http://msdn.microsoft.com/en-US/library/ms228154(v=vs.100).aspx
- Использование конфигурации. AppSettings. Настройки Добавление API приведет к объединению всех настроек обратно в основной
.config
на конфигурации. Сохранить звонок. - начиная с.NET 1.1
- Исключение не выдается, если файл не существует.
configSource
атрибут
- может применяться к большинству разделов файла конфигурации, а не только к
appSettings
- переопределит весь раздел с внешним файлом, без слияния
- МОЖЕТ вызвать перезапуск веб-приложения
- http://msdn.microsoft.com/en-US/library/system.configuration.sectioninformation.configsource(v=vs.100).aspx
- Использование конфигурации. AppSettings. Настройки Добавление API приведет к добавлению всех настроек в файл, указанный в
configSource
на конфигурации. Сохранить звонок. - начиная с.NET 2.0
System.Configuration.ConfigurationErrorsException
выбрасывается, если исходный файл конфигурации не существует.
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