在WCF应用程序中使用异步查找调用(C#MongoDB驱动程序v2.2.2.10)会不时导致超时。
这就是我们今天使用的:
public static async Task<T> FindOne<T>(this IMongoCollection<T> collection, FilterDefinition<T> filter = null, FindOptions options = null,
CancellationToken token = default(CancellationToken)) where T : class
{
return await collection.Find(filter, options).FirstOrDefaultAsync(token);
}
然而,这往往会挂起,this answer说我应该添加ConfigureAwait(false):
return await collection.Find(filter, options).FirstOrDefaultAsync(token).ConfigureAwait(false);
我的问题是,在WCF上下文中,在一个多线程的应用程序中使用ConfigureAwait(false)安全吗?