С точки зрения пользователя, загрузка начальной веб-страницы происходит синхронно, то есть он должен ждать, пока сервер доставит страницу.Однако запросы Ajax выглядят для него асинхронными, потому что он уже может видеть часть страницы.
С точки зрения сервера, все происходит синхронно.Существует HTTP-запрос, который необходимо обработать, и ответом может быть либо HTML, JSON или любой другой.Клиент будет ждать, пока не получит ответ.И несколько запросов могут обрабатываться параллельно.
Поэтому, если вы не реализуете какую-то специальную блокировку (на веб-сервере или в базе данных), которая блокирует некоторые запросы, ничто не будет заблокировано.
Предложенный подход мне кажется вполне подходящим.
Обновление:
Я забыл одну вещь: ASP.NET содержит механизм блокировки для синхронизации доступа к данным сеансаэто может помешать, если у вас есть несколько одновременных запросов от одного и того же пользователя.Посмотрите на атрибут SessionState
, чтобы обойти эту проблему.
Обновление 2:
А также асинхронное поведение с точки зрения пользователя, нет необходимости использовать класс AsyncController
.Они были созданы для чего-то другого, что не имеет отношения к вашему случаю, поскольку у них всего 15 пользователей.