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>

次に、アプリ コードでバケットのクライアントを取得できます。

var client = new CouchbaseClient((CouchbaseClientSection)ConfigurationManager.GetSection("couchbase/bucket-1"));

.Net カウチベース ライブラリの開発者がそのような構成の読み取りを実装するとよいでしょう。

于 2012-05-18T12:45:26.853 に答える
0

上記の問題を回避する方法を見つけました。

CouchbaseClient コンストラクターのオーバーロードを使用して、バケット名とパスワードを渡すことができます。例: var client = new CouchbaseClient("default","");

すべてのバケット構成を app または web.cong ファイルに入れる必要はありません。

于 2012-05-17T12:00:33.110 に答える