这是一类有1种方法的
public class ApiService
{
public async Task StartAsync()
{
await _webHost.StartAsync();
}
}
现在尝试像下面这样调用上面的类/方法,
public static async Task Main(string[] args)
{
HostFactory.Run(
configuration =>
{
configuration.Service<ApiService>(
service =>
{
service.ConstructUsing(x => new ApiService());
service.WhenStarted(x => x.StartAsync());
});
configuration.RunAsLocalSystem();
});
}
如果我像这样放置await
,则会出现错误,在此处将异步/等待位置放在哪里?
service.WhenStarted(x => await x.StartAsync());
答案 0 :(得分:2)
我不知道WhenStarted()
的签名,并且由于我在文档中找不到该签名,因此可能会起作用,也可能不会起作用。通常,如果您需要await
通话,则还必须将通话标记为async
。
service.WhenStarted(async (x) => await x.StartAsync());