【发布时间】:2018-05-06 11:40:01
【问题描述】:
以下代码不会返回它正在迭代的整个集合。返回的数组在每次运行时都具有任意长度。怎么了?
public async Task<IHttpActionResult> GetClients()
{
var clientInfoCollection = new ConcurrentBag<ClientInfoModel>();
await _client.Iterate(async (client) =>
{
clientInfoCollection.Add(new ClientInfoModel
{
name = client.name,
userCount = await _user.Count(clientId)
});
});
return Ok(clientInfoCollection.ToArray());
}
以下代码使用新的异步 MongoDB C# 驱动程序
public async Task Iterate(Action<TDocument> processor)
{
await _collection.Find<TDocument>(_ => true).ForEachAsync(processor);
}
【问题讨论】:
-
Iterate是如何定义的?
标签: c# mongodb lambda async-await