我正在尝试使用C#进行异步编程,主要是尝试将API调用发送到我创建的API,但是据我了解,只能通过另一个async
调用async
方法方法。但是,我的 Main 方法不能异步。我不想使用.Result
属性来同步调用该方法,因为这破坏了异步编程的意义。我必须从另一个线程调用该方法还是有其他解决方案?
答案 0 :(得分:5)
Main现在可以是异步的:
public static async Task Main(string[] args)
{
//TODO: do something more interesting
await Task.Delay(100);
}
但是,即使不是那样,您也可以使用异步编程,只需编写一些样板代码即可:
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);
}
请阅读this article了解更多信息