2015-08-12 2 views
0

Возможно ли сохранение подсетей моего web.config во внешних файлах конфигурации?Отдельные подразделы во внешних файлах конфигурации

В настоящее время я просто получил это:

<configuration> 
    <archiveConfiguration> 
     <company> 
      <archives> 
       <archive name="DocumentPool" type="JU"> 
        <parameter key="ConnectionString" value"......" /> 
        <parameter key="ArchiveName" value="DocPool" /> 
        .... 
       </archive> 
       <archive name="Bills" type="SU"> 
        <parameter key="ConnectionString" value"......" /> 
        <parameter key="ArchiveName" value="Bills" /> 
        .... 
       </archive> 
      </archives> 
     </company> 
    </archiveConfiguration> 
</configuration> 

Есть ли способ, чтобы просто извлечь следующее внешний конфигурационный файл?

<archives> 
    <archive name="DocumentPool" type="JU"> 
     <parameter key="ConnectionString" value"......" /> 
     <parameter key="ArchiveName" value="DocPool" /> 
     .... 
    </archive> 
    <archive name="Bills" type="SU"> 
     <parameter key="ConnectionString" value"......" /> 
     <parameter key="ArchiveName" value="Bills" /> 
     .... 
    </archive> 
</archives> 

Как ссылаться на внешний файл конфигурации на web.config, чтобы приложение успешно прочитало раздел архивов? Я попытался добавить configSource в архивы, ссылаясь на archives.config, но я был полностью проигнорирован веб-приложением. Есть что-то, чего я не хватает?

+0

Почему вы не используете xml-файл вместо этого? –

+0

Приложение не было разработано мной, поэтому я не могу изменить его на лету. Здесь мне нужно использовать внешние файлы, чтобы сохранить все как есть, и просто изменить только файл web.config – Thyrador

+1

configSource - это единственный способ сделать это; однако я не знаю, что нужно для создания пользовательского раздела для его реализации. Он может не поддерживаться из коробки. –

ответ

1

Пользовательские подразделы поддерживают атрибут configSource, поэтому вы можете извлечь их во внешнюю конфигурацию, установив в пользовательский раздел атрибут configSource, в вашем случае этот «раздел» является элементом. Поместите это в Web.config:

<archives configSource="archives.config" /> 

И в archives.config вы будете иметь

<archives> 
<archive name="DocumentPool" type="JU"> 
    <parameter key="ConnectionString" value"......" /> 
    <parameter key="ArchiveName" value="DocPool" /> 
    .... 
</archive> 
<archive name="Bills" type="SU"> 
    <parameter key="ConnectionString" value"......" /> 
    <parameter key="ArchiveName" value="Bills" /> 
    .... 
</archive> 

Я предполагаю, что вы уже создали подкласс ConfigurationSection, а затем добавил пользовательский обработчик раздела к Web.config as in this tutorial.

+0

Благодарим за разъяснения. Это не так, как я хочу, но это кажется правильным ответом на мой первоначальный вопрос. Как было предложено, я должен переписать весь механизм для поддержки файлов конфигурации XML. Это кажется мне лучшим. – Thyrador

Смежные вопросы