Почему ASP. NET Core не обрабатывает мои запросы параллельно? - PullRequest
3 голосов
/ 26 апреля 2020

У меня есть простое действие, подобное этому:

[HttpGet]
public async Task<string> GetHtml()
{
    Console.WriteLine("Run=======================================================");
    await Task.Delay(5000);
    Console.WriteLine("End=======================================================");
    return "ok";
}

Я быстро открываю три windows и go для URL. Я ожидал, что результат будет выглядеть так:

Run=======================================================
Run=======================================================
Run=======================================================
End=======================================================
End=======================================================
End=======================================================

Но это не так! Вместо этого был получен результат:

Run=======================================================
End=======================================================
Run=======================================================
End=======================================================
Run=======================================================
End=======================================================

Кроме того, когда первый запуск завершен, начинается второй запрос. Почему?

1 Ответ

4 голосов
/ 26 апреля 2020

Итак, согласно моему предложению в комментарии, вы пробовали использовать 3 разных браузера, и все заработало как положено. Так что проблема была со стороны браузера. Браузеры имеют свои ограничения относительно того, как они управляют подключением к одному и тому же имени хоста. См. другая тема для получения дополнительной информации

...