这是在C#中连接couchbase的正确方法

时间:2014-12-30 12:00:15

标签: c# couchbase

我提到了这个文件,并说它

使用以下方法之一获取客户端库:

  • 从此处下载zip文件。
  • 在NuGet包管理器控制台中运行以下命令

我是通过 NuGet包管理器控制台

安装的
var client = new CouchbaseClient();

我没有获得此课程CouchbaseClient;

的参考资料

我做错了还是如何纠正?

正在为我工​​作的代码是,

  Cluster objCluster = new Cluster();;
  IBucket objBucket = objCluster.OpenBucket();
  var returnVal = objBucket.GetDocument<dynamic>("strKey").Content;     

  //For upserting
  objBucket.Upsert(strkey, objDoc); 

这对我有用。

问题在于:

所有插入都属于默认存储桶。

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="couchbase">
      <section name="bucket-1" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/>
    </sectionGroup>
  </configSections>

  <couchbase>
    <bucket-1>
      <servers bucket="default">
        <add uri="http://10.0.0.1:8091/pools/default"/>
      </servers>
    </bucket-1>
  </couchbase>
</configuration>

存储桶=&#34;默认&#34; 中,我将默认设置更改为其他存储桶。仍然无法成功。

请用两件事澄清我:

  1. 我需要使用什么?
  2. 在配置中究竟需要更改什么?

    更新:

  3. 如果我删除了通过nuget添加的dll,并通过zip中存在的类添加了类即将到来。 但仍然没有在配置部分取得成功,也没有为什么改变nuget和包。

    要遵循哪一个?该文档以zip格式的dll进行解释。

1 个答案:

答案 0 :(得分:2)

NuGet和dll

CouchbaseClient来自旧版本的SDK(&lt; 2.0)。最新的NuGet包确实是版本2+。 您提供的代码片段可以使用SDK 2.0。

您提到的文件在哪里?你在哪里下载拉链?

客户端配置并连接到非默认存储桶

我不完全确定客户端配置的架构,但我不认为你做了什么。 OpenBucket()始终打开“默认”存储区(硬编码),您应该使用OpenBucket(BucketName, BucketPassword)打开另一个存储区。

此外,要使群集完全考虑您的App.config,必须使用将config部分作为参数的构造函数创建它:new Cluster("couchbase/bucket-1");。这对于引导配置(标记)和选择不同的端口/激活SSL通常很有用,因为默认构造函数只会尝试在localhost上连接。

有关示例,请参阅the test configuration