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.