Есть ли способ добавить разделы в файлы .config, которые не будут проанализированы ConfigurationManager - PullRequest
3 голосов
/ 20 мая 2009

Я не хочу создавать отдельный файл конфигурации для своего приложения, но храню данные в файле web.config.

Я просто хочу поместить туда XML и вручную проанализировать его, потому что текущая реализация ConfigurationManager не подходит для моего случая.

Однако без фиктивных классов и свойств я не могу добавить туда свой XML без получения сообщения об ошибке конфигурации: сообщение об ошибке синтаксического анализа: нераспознанный элемент XXXXX. Даже если я создаю фиктивные классы конфигурации, я не могу исправить эту ошибку во всех случаях ...

Есть ли способ пометить мой XML как не подлежащий анализу, чтобы я мог использовать System.XML для ручного получения данных.

Thx.

Ответы [ 3 ]

5 голосов
/ 21 мая 2009

Использовать System.Configuration.IgnoreSectionHandler.

Пример:

<configuration>
  <configSections>
    <section 
        name="myCustomSection" 
        type="System.Configuration.IgnoreSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
        allowLocation="false" />
  </configSections>
...
  <myCustomSection>
     ...
  </myCustomSection>
...
</configuration>
1 голос
/ 21 мая 2009

Я бы предложил создать пользовательский раздел конфигурации, если вы хотите сохранить данные в ваших .configs

www.codeproject.com / KB / CS / CustomConfigurationSectio.aspx

0 голосов
/ 21 мая 2009

Я не думаю, что вы можете сделать это - вам нужно соответствовать схеме XML для файлов конфигурации, если вы играете в файлах * .config - и это означает, что вам нужно иметь свои разделы в соответствии с указанной схемой и в этом случае ConfigurationManager сможет их проанализировать (и сделает это).

Если вам нужна дополнительная информация о конфигурации, которая не соответствует стандартной схеме конфигурации .NET, вам придется использовать дополнительные, отдельные файлы конфигурации - я не вижу другого пути, извините.

Марк

...