异步编程像僵尸病毒吗?

Foi*_*chr 1 c# asynchronous async-await

我正在尝试用 C# 进行异步编程,主要是尝试将 API 调用发送到我创建的 API,但据我所知,只能async从另一个async方法调用一个方法。但是,我的Main方法不能是异步的。我不想使用.Result属性同步调用方法,因为这破坏了异步编程的重点。我必须从另一个线程调用该方法还是有其他解决方案?

Jes*_*pez 5

Main 现在可以是异步的:

public static async Task Main(string[] args) 
{
   //TODO: do something more interesting
   await Task.Delay(100);
}
Run Code Online (Sandbox Code Playgroud)

但即使不可能,您也可以通过一些样板代码来利用异步编程:

public static void Main(string[] args)
{
   MainAsync(args).GetAwaiter().GetResult();
}

private static async Task MainAsync(string[] args) 
{
  // TODO: do something more interesting.
  await Task.Delay(100);
}
Run Code Online (Sandbox Code Playgroud)

请阅读这篇文章以获取更多信息