在C#代码中设置Couchbase客户端bucket密码

本文关键字:客户端 bucket 密码 Couchbase 设置 代码 | 更新日期: 2023-09-27 18:26:53

在我的C#代码中,我想使用我可以在bucketName和密码中传递的ctor版本创建一个Couchbase客户端:

//
// Summary:
//     Initializes a new instance of the Couchbase.CouchbaseClient class using the
//     default configuration and the specified bucket.
//
// Remarks:
//     The configuration is taken from the /configuration/Couchbase section.
public CouchbaseClient(string bucketName, string bucketPassword);

在我的web.config文件中,<couchbase>部分如下所示:

<couchbase>
  <servers bucket="beer-sample" bucketPassword="">
    <add uri="localhost:8091/pools" />
  </servers>
</couchbase>

在代码中,我试图通过以下方式创建Couchbase客户端:

var cc = new CouchbaseClient("beer-sample", "ThePassword");

上面的行总是失败,错误为"找不到钞票"。有人能帮忙吗?

在C#代码中设置Couchbase客户端bucket密码

首先,您使用的是Couchbase.Net SDK的旧版本。CouchbaseClient是使用Couchbase的旧方法。

请参阅新指南->http://docs.couchbase.com/developer/dotnet-2.1/dotnet-intro.html

第二,你必须用你想要的密码创建你的bucket。

例如:

    var clientConfiguration = new ClientConfiguration();
    clientConfiguration.Servers = new List<Uri> { new Uri("http://localhost:8091") };
    Cluster Cluster = new Cluster(clientConfiguration);
    using (var bucket = Cluster.OpenBucket("bucketpwd", "1234"))
    {
        Console.WriteLine("Bucket Opened");
    }

希望能有所帮助。

这是一个有点老的话题,但也许它可以帮助解决同样问题的人。

我目前正在使用couchbase.net客户端2.7.5

var clusterConfig = new ClientConfiguration
{
    Servers = new List<Uri>{new Uri("http://couchbase0-node.io:8091")},
    PoolConfiguration = new PoolConfiguration()
};
using (var cluster = new Cluster(clusterConfig))
{
    var authenticator = new PasswordAuthenticator(username, password);
    cluster.Authenticate(authenticator);
    using (var bucket = cluster.OpenBucket(bucketName))
    {
        // Do something like :
        var data = await bucket.GetAsync<T>(cacheKey);
        // Other staff
    }
}

查看更多信息:https://docs.couchbase.com/dotnet-sdk/2.7/start-using-sdk.html

参考本文档了解Couchbase Server 3.0/3.1

    ClientConfiguration example
var config = new ClientConfiguration
{
  Servers = new List<Uri>
  {
    new Uri("http://192.168.56.101:8091/pools"),
    new Uri("http://192.168.56.102:8091/pools"),
    new Uri("http://192.168.56.103:8091/pools"),
    new Uri("http://192.168.56.104:8091/pools"),
  },
  UseSsl = true,
  DefaultOperationLifespan = 1000,
  BucketConfigs = new Dictionary<string, BucketConfiguration>
  {
    {"default", new BucketConfiguration
    {
      BucketName = "default",
      UseSsl = false,
      Password = "",
      DefaultOperationLifespan = 2000,
      PoolConfiguration = new PoolConfiguration
      {
        MaxSize = 10,
        MinSize = 5,
        SendTimeout = 12000
      }
    }}
  }
};
using (var cluster = new Cluster(config))
{
  IBucket bucket = null;
  try
  {
    bucket = cluster.OpenBucket();
    //use the bucket here
  }
  finally
  {
    if (bucket != null)
    {
      cluster.CloseBucket(bucket);
    }
   }
  }
}

http://docs.couchbase.com/developer/dotnet-2.1/configuring-the-client.html