2012-04-15 117 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選項/連接/局域網設置/高級/例外。

問候。