在.NET多Couchbase区段配置(Multiple Couchbase bucket conf

2019-09-17 06:03发布

我有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.

Answer 1:

从文档 ,它看起来像你可以做这样的:

<?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>


Answer 2:

我问这个问题早在.NET的app.config Couchbase多个桶 ,但没有人回答。

我有过couchbase .NET库的ClientConfigurationSection和快速审查“couchbase”配置的部分,您可以定义只有一台服务器。

所以,你可以定义一个桶“默认”,将存储另一个桶的连接parametrs。 或硬编码的连接setttings。 或者创建自己的XML文件,将包含连接PARAMS,看起来像你的配置上面公布。



Answer 3:

我找到了一种方法周围上述问题。

我们可以使用CouchbaseClient构造函数重载并传入bucketname和密码。 例如:VAR的客户=新CouchbaseClient( “默认”, “”);

它不需要把所有的桶的配置在应用程序或web.cong文件。



Answer 4:

如果你想仍使用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"));


文章来源: Multiple Couchbase bucket configuration in .NET