Динамически добавить атрибут элемента конфигурации в пользовательский раздел c # app.config - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь динамически добавить атрибут элемента конфигурации в файл app.config в пользовательском разделе.

У меня есть следующий файл app.config:

   <?xml version="1.0" encoding="utf-8"?>
   <configuration>  
      <configSections>
        <sectionGroup name="querySettings">      
          <section name="queryList" type="ConfigClass.QueriesSection, 
    ConfigClass"/>
        </sectionGroup>    
      </configSections>

      <querySettings>

      <periods>
        <period name="afternoon" start="08:30:00" />        
        <period name="evening" start="16:01:00" />
        <period name="morning" start="06:00:00" />          
     </periods>

        <queryList>
         <queries>
            <add name="query1" refreshrate.morning="3100" refreshrate.afternoon="4100" refresh.evening="5100">
              <create>select * from create</create>
              <refresh>select * from refresh<refresh>
            </add>        
            <add name="query2" >
              <create>select * from create</create>
              <refresh>select * from refresh<refresh>
            </add>
          </queries>
        </queryList>
      </querySettings>

    </configuration>

Клиент заполняет раздел периодов в файле конфигурации своими собственными парами имя / старт, а также частотой обновления запроса, в соответствии ск определениям периода.(Код будет брать периоды и сопоставлять их с частотой обновления для каждого запроса, так что каждый запрос может иметь разные частоты обновления, интервал которых будет изменяться каждый раз, когда наступает другой период.)

В кодеЯ загружаю раздел периода, как это предопределено.Я также определил классы конфигурации для запросов.

Моя проблема в том, что мне нужно создать сопоставление для атрибутов частоты обновления, которые вводятся в разделе запроса> добавить.Очевидно, что это необходимо динамически добавить в экземпляр ConfigurationElements (который в настоящее время содержит только имя запроса), как мне это сделать?

...