等待 IAsyncAction 时应该使用 ConfigureAwait(false) 吗?

Should I use ConfigureAwait(false) when awaiting IAsyncAction?

推荐,例如here 在等待的任务上尽可能多地使用 ConfigureAwait(false)

此建议是否也扩展到 return IAsyncAction 的方法,例如 StreamSocket.ConnectAsync()

也就是说,不是简单地在我的 class 库中写这个:

await socket.ConnectAsync(hostName, port);

我宁愿写这个?

await socket.ConnectAsync(hostName, port).AsTask().ConfigureAwait(false);

是的。任何不需要其上下文的方法都是最佳实践,请使用 ConfigureAwait(false)。配置是针对 await(不是 TaskIAsyncAction),并且那里有一个 await 应该配置。