我有2个桶在Couchbase一个是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.
从文档 ,它看起来像你可以做这样的:
<?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>
我问这个问题早在.NET的app.config Couchbase多个桶 ,但没有人回答。
我有过couchbase .NET库的ClientConfigurationSection和快速审查“couchbase”配置的部分,您可以定义只有一台服务器。
所以,你可以定义一个桶“默认”,将存储另一个桶的连接parametrs。 或硬编码的连接setttings。 或者创建自己的XML文件,将包含连接PARAMS,看起来像你的配置上面公布。
我找到了一种方法周围上述问题。
我们可以使用CouchbaseClient构造函数重载并传入bucketname和密码。 例如:VAR的客户=新CouchbaseClient( “默认”, “”);
它不需要把所有的桶的配置在应用程序或web.cong文件。
如果你想仍使用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"));