根据约翰的建议,我用这样的配置:
<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"));
这将是很好,如果净couchbase库的开发实施阅读这样的配置。
建议的替代方法http://stackoverflow.com/questions/10600486/multiple-couchbase-bucket-configuration-in-net/10645617#10645617 –
是的。我使用这个解决方案(我为自己的Dictionary创建了一个桶的字典(,)),但是通过这种方式,桶被“硬编码”。现在我正在考虑用bucket配置编写自己的xml文件,然后解析它。 –
m03geek