Конфигурация с несколькими ведрами Couchbase в.NET

У меня есть 2 сегмента в Couchbase, один тип Couchbase, а другой тип Memcachced: при запуске теста я получаю сообщение об ошибке: серверы элементов могут появляться только один раз в этом разделе. Ниже мой конфиг:

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

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

 How to configure multiple buckets and resolve the issue? I hv read the manual and I could not find much help.

4 ответа

Из документации видно, что вы можете сделать это так:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="couchbase">
      <section name="bucket-a" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/>
      <section name="bucket-b" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/>
    </sectionGroup>
  </configSections>

  <couchbase>
    <bucket-a>
      <servers bucket="default">
        <add uri="http://127.0.0.1:8091/pools" />
      </servers>
    </bucket-a>
    <bucket-b>
      <servers bucket="beernique" bucketPassword="b33rs">
        <add uri="http://127.0.0.1:8091/pools" />
      </servers>
    </bucket-b>
  </couchbase>

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

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

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

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

Я задавал этот вопрос ранее Couchbase несколько блоков в.NET app.config, но никто не ответил.

Я быстро просмотрел ClientConfigurationSection в библиотеке couchbase.net и в разделе конфигурации "couchbase" вы можете определить только один сервер.

Таким образом, вы можете определить один сегмент "по умолчанию", в котором будут храниться параметры подключения других блоков. Или жесткие настройки соединения. Или создайте собственный xml-файл, который будет содержать параметры соединения и выглядеть как ваш конфиг, который выложен выше.

Если вы все еще хотите использовать App|Web.config, вы также можете просто создать второй раздел конфигурации следующим образом:

<section name="otherconfig" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/>

<otherconfig>
    <servers bucket="default" bucketPassword="">
      <add uri="http://127.0.0.1:8091/pools"/>
    </servers>
  </otherconfig>

var client = new CouchbaseClient((CouchbaseClientSection)ConfigurationManager.GetSection("otherconfig"));
Другие вопросы по тегам