无法使用 C# 客户端在 Couchbase 中加载字节 [] 或 base64 数据
Failing to load byte[] or base64 data in Couchbase using C# client
当尝试使用 byte[]
或 base64
编码的字符串 in/upsert 文档时,出现异常并出现 !result.Success
Specified argument was out of the range of valid values.
Parameter name: count
我的文档不包含任何名为 count 的内容。这个异常都带有一个内部异常
StackTrace
at System.Net.Sockets.SocketAsyncEventArgs.SetBufferInternal(Byte[] buffer, Int32 offset, Int32 count)
at Couchbase.IO.Connection.Send(Byte[] buffer)
at Couchbase.IO.Strategies.DefaultIOStrategy.Execute[T](IOperation`1 operation)
...
仅当我包含具有 base64
或 byte[]
的字段时才会发生这种情况(重构以尝试两者)。在 windows7 pro 64 位机器上,使用 NancyFX 作为前端,使用 Couchbase 作为数据库。
我一直无法找到任何 2.0 .Net SDK 或 3.0.2 Server 文档来引导我朝着正确的方向前进,并且已经联系了 #couchbase IRC还没有运气。似乎确实有任何与文件大小相关的设置(测试数据是 26.7k png)。希望我的误解很简单。
我的团队遇到了同样的问题,我们在 #libcouchbase IRC 频道上这样描述:
Using the 2.0 .Net Client code, we are unable to inset a record of more
than 32K bytes, we receive the following error: "Specified argument was
out of the range of valid values.\r\nParameter name: count"
我立即得到回复:
<jefe1> that is a bug fixed in 2.0.2 which will be released tomorrow [2/3/15]
我们通过手动设置缓冲区长度独立解决了这个问题:
cluster.Configuration.PoolConfiguration.MaxSize =
ConfigurationSettings.Instance.CouchbaseMaxConnections;
cluster.Configuration.PoolConfiguration.BufferSize =
ConfigurationSettings.Instance.CouchbaseBufferSizeBytes;
(我不知道团队使用的确切设置。)
而且,这是 link 描述和修复问题的 Couchbase 签入:https://github.com/couchbase/couchbase-net-client/commit/80ba3cfadc3aa8ba0dc889a16056252617628324
当尝试使用 byte[]
或 base64
编码的字符串 in/upsert 文档时,出现异常并出现 !result.Success
Specified argument was out of the range of valid values.
Parameter name: count
我的文档不包含任何名为 count 的内容。这个异常都带有一个内部异常
StackTrace
at System.Net.Sockets.SocketAsyncEventArgs.SetBufferInternal(Byte[] buffer, Int32 offset, Int32 count)
at Couchbase.IO.Connection.Send(Byte[] buffer)
at Couchbase.IO.Strategies.DefaultIOStrategy.Execute[T](IOperation`1 operation)
...
仅当我包含具有 base64
或 byte[]
的字段时才会发生这种情况(重构以尝试两者)。在 windows7 pro 64 位机器上,使用 NancyFX 作为前端,使用 Couchbase 作为数据库。
我一直无法找到任何 2.0 .Net SDK 或 3.0.2 Server 文档来引导我朝着正确的方向前进,并且已经联系了 #couchbase IRC还没有运气。似乎确实有任何与文件大小相关的设置(测试数据是 26.7k png)。希望我的误解很简单。
我的团队遇到了同样的问题,我们在 #libcouchbase IRC 频道上这样描述:
Using the 2.0 .Net Client code, we are unable to inset a record of more than 32K bytes, we receive the following error: "Specified argument was out of the range of valid values.\r\nParameter name: count"
我立即得到回复:
<jefe1> that is a bug fixed in 2.0.2 which will be released tomorrow [2/3/15]
我们通过手动设置缓冲区长度独立解决了这个问题:
cluster.Configuration.PoolConfiguration.MaxSize =
ConfigurationSettings.Instance.CouchbaseMaxConnections;
cluster.Configuration.PoolConfiguration.BufferSize =
ConfigurationSettings.Instance.CouchbaseBufferSizeBytes;
(我不知道团队使用的确切设置。)
而且,这是 link 描述和修复问题的 Couchbase 签入:https://github.com/couchbase/couchbase-net-client/commit/80ba3cfadc3aa8ba0dc889a16056252617628324