我需要使用尚未切換到異步的舊控制器來計數匹配過濾器的項目。我們對如何做到這一點的async answer:Mongo DB C#驅動程序2.0同步計數
long result = await collection.CountAsync(Builders<Hamster>.Filter.Eq(_ => _.Name, "bar"));
我還發現了MongodDb網站上的一篇文章Introducing the 2.0 .NET Driver有這似乎證實,這是不可能的評論:
- 它只是異步的:這是真的。新的API只有異步的趨勢(例如微軟的HttpClient)。一般來說,異步編程很容易,並且不需要大量線程就可以獲得更高的服務器吞吐量。我們正在考慮是否還應該支持同步API,並且在我們收到一些請求(包括您的)時,一般用戶似乎很想使用異步編程。
儘管如此,我想問一下,如果有一種方法可以做到這一點/確認,它不會使控制器方法異步(及其所有傭工)是不可能的。
你應該能夠不'await'運行'collection.CountAsync()Result',它只會同步運行。 – DLeh
看起來像我們在同一時間發佈。請將其發佈爲答案,以便我可以接受。複製我的,如果你想,我會刪除我的。 – VSO
不用擔心!只要你弄清楚了 – DLeh