我使用.NET客户端与couchbase进行交互。我需要能够将调用失败的原因区分到我的couchbase框并准确记录它们。我试过在我的测试环境中引发超时,但我一直无法做到。
读取.net客户端documentation似乎ExecuteGet
返回包含异常属性和状态代码属性的IGetOperationResult
对象。状态代码显示为correspond to this table。我没有在.NET客户端的文档中找到它是否抛出像Java客户端这样的异常。此外,memcached表中的状态代码似乎没有与超时相对应的明确状态代码值。
除了没有返回值之外,如何判断是否已超出配置的超时?
答案 0 :(得分:2)
仅当发送来自服务器的响应时才设置StatusCode属性。超时将导致服务器无响应,因此为null StatusCode。连接超时应导致在GetOperationResult ...
上填充Exception值然而,很可能在Enyim堆栈的某个地方,原始的超时异常被吞并并在另一个异常中被重新包装。当您遇到超时时,您是否看到了Exception属性的任何值?