1

当尝试使用其中一个byte[]base64编码字符串插入/更新文档时,我得到一个异常和一个!result.Success

指定的参数超出了有效值的范围。
参数名称:计数

我的文档不包含任何名为 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)  
...

仅当我包含具有base64or的字段时才会发生这种情况byte[](重构以尝试两者)。在使用 NancyFX 作为前端和 Couchbase 作为数据库的 windows7 pro 64 位机器上。

我一直找不到任何 2.0 .Net SDK 或 3.0.2 Server 文档来引导我朝着正确的方向前进,并且还没有找到#couchbase IRC。似乎确实有任何与文件大小相关的设置(测试数据是 26.7k png)。希望这是我误解的简单事情。

4

1 回答 1

1

我的团队遇到了同样的问题,我们在#libcouchbase IRC 频道上对此进行了描述:

使用 2.0 .Net 客户端代码,我们无法插入超过 32K 字节的记录,我们收到以下错误:“指定的参数超出了有效值的范围。\r\n参数名称:计数”

我立即得到了回应:

<jefe1> 这是 2.0.2 中修复的错误,将于明天 [2/3/15] 发布

我们通过手动设置缓冲区长度独立解决了这个问题:

cluster.Configuration.PoolConfiguration.MaxSize =
    ConfigurationSettings.Instance.CouchbaseMaxConnections;
cluster.Configuration.PoolConfiguration.BufferSize =
    ConfigurationSettings.Instance.CouchbaseBufferSizeBytes;

(我不知道团队使用的确切设置。)

而且,这是描述和解决问题的 Couchbase 签入的链接:https ://github.com/couchbase/couchbase-net-client/commit/80ba3cfadc3aa8ba0dc889a16056252617628324

于 2015-02-03T16:05:00.863 回答