ASP.NET MVC - вызовы контроллера выполняются последовательно, а не параллельно - PullRequest
0 голосов
/ 23 ноября 2018

На нашем сайте мы обнаружили, что когда пользователь ожидает загрузки страницы, попытка открыть другую страницу застрянет, пока не загрузится первая.

Для имитации мы создали тестовую страницу с кнопкой, нажатие на которую выполняет два одновременных вызова AJAX с использованием XMLHttpRequest.Запуск его несколько раз и анализ процесса дают нам подсказку - MVC выполняет один вызов за другим, но не в одно и то же время.

Я всегда думал неправильно или это просто вопрос неправильной конфигурации?

MVC5 и различные версии IIS.

Обновление: превратило тестовое действие в асинхронное, как показано ниже:

public virtual async Task<JsonResult> Test3()
        {
            await Task.Run( () => System.Threading.Thread.Sleep(6000));
            return Json(new { success = true });
        }

Ситуация такая же (и похоже, что T4MVC не работает с асинхронными действиями).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...