Можно ли сделать GlobalConfiguration.Configure асинхронным? - PullRequest
0 голосов
/ 30 января 2020

Точка входа в проект веб-API находится в global.asax, и стандартный код такой:

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

Это вызывает метод Register, который static void. Во время настройки я хочу совершать различные звонки, которые используют async Task. Есть ли элегантный способ сделать это, кроме как обернуть каждый асин c вызов в Task.Run(() => myMethod).Wait();?

1 Ответ

0 голосов
/ 30 января 2020

Если я понимаю ваш вопрос, думаю, вы могли бы сделать что-то вроде этого:

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

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

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

Полагаю, если вам не нужны результаты, вы можете вызвать асинхронные c методы непосредственно в WaitAll.

...