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中定义sevral存储桶,然后在我的应用中在它们之间切换?
答案 0 :(得分:4)
根据John的建议,我使用了这样的配置:
<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 couchbase库的开发人员实现读取这样的配置,那就太好了。
答案 1 :(得分:0)
我找到了解决上述问题的方法。
我们可以使用CouchbaseClient构造函数重载并传入bucketname和密码。 例如:var client = new CouchbaseClient(“default”,“”);
不需要将所有存储桶配置放在app或web.cong文件中。