是否可以使GlobalConfiguration.Configure异步?

时间:2020-01-30 14:13:05

标签: asp.net-mvc asp.net-web-api

Web api项目的入口点位于global.asax中,样板代码如下:

protected void Application_Start()
{
    GlobalConfiguration.Configure(WebApiConfig.Register);
}

这将调用static void的Register方法。在设置过程中,我想使用async Task进行各种调用。除了将每个异步调用都包装在Task.Run(() => myMethod).Wait();中,还有别的优雅的方法吗?

1 个答案:

答案 0 :(得分:0)

如果我了解您的问题,我认为您可以执行以下操作:

Task<string> getStringTask = someGetStringAsyncMethod();
Task<object> getObjectTask = someGetObjectAsyncMethod();

Task.WaitAll(new Task[] {
    getStringTask,
    getObjectTask,
});

string theString = getStringTask.Result();
object theObject = getObjectTask.Result();

我猜如果您不需要结果,则可以直接在WaitAll中调用异步方法。