我们遇到了一个问题,即在使用CosmosDb之后,如果不久之后尝试处置DocumentClient,则会发生异常。在处理之前等待几秒钟不会导致异常。我们已经确认,每个异步调用都使用await。
伪代码:
using(DocumentClient documentClient = new DocumentClient(...params)) {
IOrderedQueryable<T> query = this.documentClient.CreateDocumentQuery<T>(...params);
IList<T> documents;
using (IDocumentQuery<T> documentQuery = query.AsDocumentQuery()) {
documents = (await documentQuery.ExecuteNextAsync<T>()).ToList();
}
// Processing...
}
该异常指出:
LoadBalancingChannel rntbd://[ip].documents.azure.com:[port]/ in use
在调用DocumentClient.Dispose之前,已成功返回调用的API(正确返回了所有文档)。 有人见过这种例外吗?搜索未找到任何结果。
答案 0 :(得分:0)
如果DocumentClient在待处理请求期间被处置,则可能发生。此问题已在SDK版本2.2.2中解决,请升级到最新的SDK版本。