我已经安装了couchbase 1.8并使用了couchbase .net客户端库。 是否所有配置都在文档中给出,如下所示,但client.store始终失败并返回false。
<configSections>
<section name="couchbase" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/>
</configSections>
<couchbase>
<servers bucket="default" bucketPassword="">
<add uri="http://xx.xx.xx.xx:8091/pools/default"/>
</servers>
</couchbase>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
CouchbaseClient client = new CouchbaseClient(); //this creates a not null client object
bool result = client.store(Storemode.Add,"test","Couchbase test"); // this returns false always
string str = client.Get("test") as string; // this returns null always
我可以telnet到8091端口。 telnet进入空白屏幕,键入任何密钥来自telnet会话,说客户端发送了错误的请求。我猜这是正确的行为,但不知何故,商店失败了。我没有在couchbase默认databucket上看到任何活动。
任何帮助表示感谢。
答案 0 :(得分:0)
您的配置看起来正确。但是,如果您之前为键“test”保存了非字符串值,那么您的代码将为结果生成false,为string生成null。
对于给定键的Store操作,StoreMode.Add只能运行一次。因此,如果你以前保存过,比如说一个int,那么关键的“测试”那么Store就会失败。并且as cast也将返回null。
如果尝试StoreMode.Set,代码是否正常运行?
答案 1 :(得分:0)
我遇到了同样的问题。
安装Couchbase Server后,在配置网站的“服务器节点”选项卡上,您应该看到服务器的IP。
IP可能是错误的(因为它是由安装程序随机分配的)。
如果是错误的(例如,不是公共IP),请按these steps设置正确的IP。另外,请确保您已关闭防火墙,或者ports取消阻止。
答案 2 :(得分:0)
另一个问题可能导致此错误被开发环境中的防火墙阻止。 您可以通过在IE中绕过couchbase ip server解决此问题:工具/ Internet选项/连接/ LAN设置/高级/例外。
问候。