c# - 无法使用 CCCP 引导:Couchbase memcached 存储桶异常
问题描述
我正在使用最新版本的 CouchbaseNetClient NuGet 包 2.7.4 连接 Couchbase 4.6.3 企业版(在我笔记本电脑的 docker 上运行)。C#代码:
var config = new ClientConfiguration
{
// assign one or more Couchbase Server URIs available for bootstrap
Servers = new List<Uri>
{
new Uri("http://192.168.99.100:8091/")
},
BucketConfigs = new Dictionary<string, BucketConfiguration> {
{"memcachetest", new BucketConfiguration {
PoolConfiguration = new PoolConfiguration {
MaxSize = 6,
MinSize = 4,
SendTimeout = 12000
},
Port = 8091,
DefaultOperationLifespan = 123,
Password = "",
Username = "",
BucketName = "memcachetest"
}}},
UseSsl = false,
};
ClusterHelper.Initialize(config);
此代码适用于普通存储桶(下面的示例存储桶),但我无法连接到 Memcached(memcachetest) 存储桶。
以下行在打开存储桶时会引发各种异常。
private readonly IBucket _bucket = ClusterHelper.GetBucket("memcachetest", "");
我试过有/没有密码。从过去的两天开始,这一切都在我的脑海中!任何帮助appriciated!
解决方案
Memcached 存储桶不支持 CCCP。客户端将首先尝试 CCCP,然后在 CCCP 失败时转移到 HTTP 流——这会被记录下来,并且可能是您偶然发现的。由于它是一个 AggregateException,看来它失败的原因可能还有其他原因 - 您必须查看每个异常的原因。请注意,您可以通过将 ConfigurationProviders 设置为 HttpStreaming 来跳过 Memcached 存储桶的 CCCP:
ClientConfiguration.ConfigurationProviders = ServerConfigurationProviders.HttpStreaming;
推荐阅读
- elasticsearch - ElasticSearch 匹配查询问题
- reactjs - 安装反应路由器但不更新 package.json 文件
- jquery - HTML 音频在 iOS 或 iOS 模拟器上静音
- javascript - React Native Enforce 英文键盘
- javascript - VueJS 警告避免直接改变道具
- jenkins - Jenkins - 从 Artifactory 加速下载
- java - 如何在 Java 中规范化 IPv6 地址?
- python - 使用 Pandas 的函数计算其他两个列
- api - 托管在 localhost 上的 ionic 请求 api 中的 CORS 问题
- powershell - 如何输入字符串列表作为参数?