сколько экземпляров контроллера требуется для обработки нескольких запросов? - PullRequest
0 голосов
/ 14 октября 2019

Я новичок в asp.net mvc. Я читаю книгу, в которой говорится о синхронной обработке запросов:

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

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

1 Ответ

0 голосов
/ 14 октября 2019

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

  1. AddTransient - временные объекты всегда разные;новый экземпляр предоставляется каждому контроллеру и каждой службе.

  2. AddScoped - Объекты Scoped одинаковы в запросе, но различаются в разных запросах.

  3. AddSingleton - Синглтон-объекты одинаковы для каждого объекта и каждого запроса.

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