我需要使用尚未切换到异步的旧控制器计算与过滤器匹配的项目。我们有一个关于如何做到这一点的异步答案:
long result = await collection.CountAsync(Builders<Hamster>.Filter.Eq(_ => _.Name, "bar"));
我还在 MongodDb 网站上找到了一篇介绍 2.0 .NET 驱动程序的文章,其中有一条评论似乎证实了这是不可能的:
- 它只是异步的:这是真的。新的 API 有一种趋势,即仅是异步的(例如 Microsoft 的 HttpClient)。一般来说,异步编程很容易,并且不需要大量线程就可以提高服务器吞吐量。我们正在考虑是否也应该支持同步 API,虽然我们已经收到了一些关于它的请求(包括你的请求),但一般用户似乎渴望使用异步编程。
尽管如此,我想问是否有办法做到这一点/确认如果不使控制器方法异步(及其所有助手)是不可能的。