我从比我更聪明的人那里多次阅读了这个建议,并且几乎没有注意事项:始终使用ConfigureAwait(false)内部库代码.所以我很确定我知道答案,但我想成为100%.场景是我有一个库,它包含了一些其他异步库.
图书馆代码:
public async Task DoThingAsyc() {
// do some setup
return await otherLib.DoThingAsync().ConfigureAwait(false);
}
Run Code Online (Sandbox Code Playgroud)
申请代码:
// need to preserve my synchronization context
await myLib.DoThingAync();
// do I have my context here or did my lib lose it?
Run Code Online (Sandbox Code Playgroud)