连接到Couchbase服务器的.NET Couchbase客户端轻微错误

时间:2014-09-06 22:17:41

标签: c# amazon-ec2 client-server couchbase

我有两台服务器。其中一个充当使用.NET客户端连接到couchbase服务器的客户端。另一个是配置的couchbase服务器。这些服务器托管在Amazon EC2中。现在我已经打开了couchbase服务器上的所有端口。但是,当我尝试使用.NET客户端进行连接时,初始化代码会挂起并且不会引发任何错误。它还允许我保存并获得没有错误,除了get总是返回null。我已经验证了IP和端口是可以访问和打开的。

以下是我正在尝试的代码。

CouchbaseClient = new CouchbaseClient("api_cache",""); //hangs for about 10 seconds throws no error
CouchbaseClient.Store(StoreMode.Set, "test","test")); //throws no error;
var test = CouchbaseClient.Get("test"); //always returns null;

这是我的web.config中的代码

  <configSections>
    <section name="couchbase" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase" />

    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
  </configSections>
  <appSettings>

  </appSettings>
  <couchbase>
    <servers>
      <add uri="http://XX.XX.XX.XX:8091/pools" />
    </servers>
  </couchbase>

...

1 个答案:

答案 0 :(得分:1)

这基本上是一个端口阻塞问题。为了我的使用,我需要打开直接端口。

我下载了.NET客户端源代码并找到了对以下端口的引用:

  • SsLPort:11207
  • ApiPort:8092
  • 管理端口:8091
  • 直达港口:11210
  • https管理端口:18091
  • https Api Port:18092

我也在Couchbase社区上发布了这个答案。 http://www.couchbase.com/communities/q-and-a/i-cannot-connect-couchbase-server-amazon-ec2