Как включить файл конфигурации для .Net
Есть ли способ иметь основной файл конфигурации .net. app.config/web.config включает другой файл конфигурации? Мне нужно хранить файлы в отдельных файлах, но связывать их вместе.
Вот пример того, что я хочу включить:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="LocationSearch.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<LocationSearch.Properties.Settings>
<setting name="MapQuestApiKey" serializeAs="String">
<value>some value here...</value>
</setting>
<setting name="MapQuestClientCode" serializeAs="String">
<value>another value here...</value>
</setting>
</LocationSearch.Properties.Settings>
</applicationSettings>
</configuration>
Ответы
Ответ 1
Да, вы можете включить отдельные файлы в основной .config, используя атрибут configSource, например:
<securityConfiguration configSource="SomeOtherConfigFile.config" />
Внешние файлы конфигурации, которые вы включаете в этот путь, должны находиться в одном каталоге (или вложенной папке) основного файла .config.
Свойство SectionInformation.ConfigSource
Ответ 2
Да, с атрибутом 'file'
<appSettings file="configFiles/otherConfigFile.config">
информация MSDN
Некоторая релевантная информация из статьи MSDN об использовании атрибута 'file':
Содержимое отдельного файла объединено с секцией appSettings в файле Web.config. Эта функция ограничена атрибутом appSettings.
Примечание. В .NET Framework версии 2.0 теперь вы можете включить параметры конфигурации в отдельный файл для всех элементов конфигурации, которые поддерживают атрибут configSource. Однако, когда вы используете атрибут configSource, вы должны переместить весь раздел в отдельный файл, потому что нет слияния параметров элемента.
Ответ 3
Да, я делаю это для правил перезаписи URL.
Итак, в моем web.config я делаю это:
<urlrewritingnet configSource="UrlRewriting.config" />