бутылочное горлышко запускает task.run на asp net mvc - PullRequest
0 голосов
/ 30 января 2019

У меня есть сомнения относительно устаревшего контекста синхронизации ASP.NET, если я запускаю следующие методы в приложении ASP.Net MVC:

   `Task.Run(async () => await httpClient.getContentAsync()).Result 
    var response= Task.Run(() => methodAsync(model));
    var other = response.Result 
    var response= await  Task.Run(() => methodAsync(model));`

эти вызовы могут создать узкое место?

all this in an mvc application that is not .net core

1 Ответ

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

Вы не должны использовать Task.Run в ASP.NET вообще (классическое или ядро) .Вы также не должны использовать Result для блокировки асинхронного кода;что может вызвать тупик с ASP.NET Classic .

Для async кода, просто используйте обычные async и await:

var result = await httpClient.getContentAsync();
var other = await methodAsync(model);
...