RavenDB v5.4:在读取集成测试之前全局等待索引完成

问题描述 投票:0回答:1

在我的集成测试设置中,实体是使用 API 端点创建的,然后该数据立即被其他端点使用。

当索引不是最新的并且获取刚刚写入的项目返回空时,这会产生问题。

如果不将

.Customize(x => x.WaitForNonStaleResults(TimeSpan.FromSeconds(5)))
添加到每个查询中,我可以在全局配置
IDocumentStore
时做一些事情来强制每个查询等待索引完成写入吗?

我找到了一个旧的answer,但该代码对当前版本无效。

ravendb ravendb5
1个回答
0
投票

在文档存储上使用此约定:

https://ravendb.net/docs/article-page/5.4/Csharp/client-api/configuration/conventions#waitfornonstaleresultstimeout

即:

using var store = new DocumentStore
{
   Database = database,
   Urls = new[] { server.WebUrl },
   Conventions = new DocumentConventions { WaitForNonStaleResultsTimeout = TimeSpan.FromSeconds(25) }
}.Initialize();
© www.soinside.com 2019 - 2024. All rights reserved.