在大多数项目类型中,async
“向上”和“向下”将在async void
事件处理程序处结束或将a返回Task
到框架。
您可以只Wait
对返回的任务执行:
static void Main()
{
MainAsync().Wait();
// or, if you want to avoid exceptions being wrapped into AggregateException:
// MainAsync().GetAwaiter().GetResult();
}
static async Task MainAsync()
{
...
}
或者您也可以像我写的那样使用自己的上下文:
static void Main()
{
AsyncContext.Run(() => MainAsync());
}
static async Task MainAsync()
{
...
}
有关async
控制台应用程序的更多信息,请访问我的博客。