6

我在 Couchbase 中有 2 个存储桶,一个是 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

4 回答 4

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>
于 2015-02-02T11:43:02.703 回答
0

如果您仍想使用 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"));
于 2012-05-18T01:29:44.190 回答
0

我找到了解决上述问题的方法。

我们可以使用 CouchbaseClient 构造函数重载并传入存储桶名称和密码。例如: var client = new CouchbaseClient("default","");

不需要将所有存储桶配置放在 app 或 web.cong 文件中。

于 2012-05-17T11:47:10.827 回答
0

我之前在 .NET app.config 中的 Couchbase multiple buckets 中问过这个问题,但没有人回答。

我快速浏览了 couchbase .net 库的 ClientConfigurationSection,在配置的“couchbase”部分中,您只能定义一个服务器。

因此,您可以定义一个存储桶“默认”来存储另一个存储桶的连接参数。或硬编码连接设置。或者创建自己的 xml 文件,该文件将包含连接参数,并且看起来像上面发布的配置。

于 2012-05-15T16:17:12.890 回答