2012-04-15 95 views
2

我已经安装了couchbase 1.8并使用了couchbase .net客户端库。 在文档中给出的所有配置如下,但client.store总是失败并返回false。couchbase客户端存储返回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> 


我能够做telnet到8091端口。 telnet进入黑屏,输入任何密钥从telnet会话中发出,说客户端发送了一个错误的请求。我猜这是正确的行为,但不知何故商店失败。我没有看到couchbase默认databucket上的任何活动。

任何帮助表示赞赏。

回答

0

你的配置看起来不错。但是,如果您之前已经为关键字“test”保存了非字符串值,那么您的代码将针对结果产生false,而对于字符串则为null。

对于给定密钥的Store操作,StoreMode.Add将一次且只能使用一次。因此,如果您以前保存过,说一个int,对于关键“测试”,则Store将失败。而演员阵容也会返回null。

如果您尝试StoreMode.Set,代码是否正常运行?

+0

即使Storemode.set失败。实际上,无论我给出什么密钥,我都无法将任何东西插入到数据库中。我很确定这个关键不存在。另外我没有看到在默认存储桶的couchbase web控制台上的任何活动。看起来这个请求甚至没有达到数据库。 – spal 2012-04-16 02:59:59

+0

嗨,约翰,我可以从远程机器上telnet到端口11211上的couchdb服务器,并且能够存储和获取telnet。但是从.net客户端.get和存储都失败。它试图建立连接,然后似乎是超时。当我能够使用telnet连接时,客户端需要访问什么? – spal 2012-04-19 07:53:31

+0

不应有任何附加要求。您可能需要尝试启用日志记录,该日志位于http://www.couchbase.com/develop/net/current上的“配置日志记录”中。还有一件事是尝试在https://github.com/couchbaselabs/couchbase-aspnet上克隆Couchbase.AspNet示例,然后尝试运行示例MVC应用程序。 – 2012-04-25 15:20:56

0

我有同样的问题。

安装Couchbase服务器后,在配置网站上的“服务器节点”选项卡上,应该会看到服务器的IP。

该IP可能是错误的(因为它由安装程序随机分配)。

如果是错误的(例如不是公共IP),请按照these steps设置正确的IP。另外请确保您的防火墙已关闭,或者您已解除阻止ports

0

另一个问题可能导致此错误在开发环境中被防火墙阻止。 您可以通过在IE中绕过couchbase ip服务器解决此问题:工具/ Internet选项/连接/局域网设置/高级/例外。

问候。