3

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 中定义多个存储桶,然后在我的应用程序中切换它们?

4

2 回答 2

5

根据约翰的建议,我使用了这样的配置:

<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 库的开发人员实现读取这样的配置,那就太好了。

于 2012-05-18T12:45:26.853 回答
0

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

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

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

于 2012-05-17T12:00:33.110 回答