Couchbase несколько блоков в.NET app.config

В руководстве Couchbase .Net сказано, что я могу настроить свой клиент следующим образом:

<couchbase><servers bucket="default" bucketPassword="">
  <add uri="http://192.168.0.2:8091/pools/default"/>
  <add uri="http://192.168.0.3:8091/pools/default"/>
</servers></couchbase>

Есть ли способ определить несколько блоков в app.config, а затем переключаться между ними в моем приложении?

2 ответа

Решение

По предложению Джона я использовал такую ​​конфигурацию:

<configuration>
  <configSections>
    <sectionGroup name="couchbase">
      <section name="bucket-1" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/>
      ...
      <section name="bucket-N" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/>
    </sectionGroup>
  </configSections>
  ...
  <couchbase>
    <bucket-1>
      <servers bucket="bucket-1" bucketPassword="pass">
        <add uri="http://10.0.0.1:8091/pools/default"/>
        <add uri="http://10.0.0.2:8091/pools/default"/>
      </servers>
    </bucket-1>
  </couchbase>
  ...
</configuration>

Затем в коде приложения вы можете получить клиент Bucket:

var client = new CouchbaseClient((CouchbaseClientSection)ConfigurationManager.GetSection("couchbase/bucket-1"));

Было бы неплохо, если бы разработчики библиотеки.Net couchbase реализовали чтение такой конфигурации.

Я нашел способ решения вышеуказанной проблемы.

Мы можем использовать перегрузку конструктора CouchbaseClient и передать имя сегмента и пароль. Пример: var client = new CouchbaseClient("по умолчанию","");

Нет необходимости помещать все конфиг конфигурации в файлы app или web.cong.

Другие вопросы по тегам