【发布时间】:2020-02-18 16:53:38
【问题描述】:
我正在构建一个 WPF 应用程序并调用此自定义事件。
这里的问题是我应该在任何地方打电话给ConfigureAwait(false)吗?正如您现在所看到的,我将其称为 2 次。甚至在第二种方法中使用双 ConfigureAwait(false) 在同一行中的 3 次。
// First approach
void RaiseProcessEvent(object sender, EventArgs e)
{
Task.Run(async () => await APIManager.GetInstance.ProcessMethod()).ConfigureAwait(false);
}
// Second approach
void RaiseProcessEvent(object sender, EventArgs e)
{
Task.Run(async () => await APIManager.GetInstance.ProcessMethod().ConfigureAwait(false)).ConfigureAwait(false);
}
// This function is in a singleton class
public async Task ProcessMethod()
{
var result = await GetInstance.GetFinalResultFromHttpClientAsync().ConfigureAwait(false);
}
【问题讨论】:
-
可以是一个粘性主题,查看https://johnthiriet.com/configure-await/ 看看这是否对您的方案有帮助
-
是的,我以前读过。它有点令人困惑,一些或大多数网站都说“尽你所能”,所以我只是想为了添加而添加。就个人而言,我觉得没有任何不同
标签: c# wpf asynchronous async-await