首页 > 解决方案 > 是否可以使 GlobalConfiguration.Configure 异步?

问题描述

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

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

这调用了 Register 方法,即static void. 在设置过程中,我想进行各种使用async Task. 除了包装每个异步调用之外,有没有一种优雅的方法可以做到这一点Task.Run(() => myMethod).Wait();

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

解决方案


如果我理解你的问题,我认为你可以这样做:

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

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

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

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


推荐阅读