禁用同步上下文
要禁用同步上下文,你应该调用 ConfigureAwait
方法:
async Task() Foo()
{
await Task.Run(() => Console.WriteLine("Test"));
}
. . .
Foo().ConfigureAwait(false);
ConfigureAwait 提供了一种避免默认 SynchronizationContext 捕获行为的方法; 为 flowContext 参数传递 false 可防止在 await 之后使用 SynchronizationContext 继续执行。