@coolfusion

Как работают Action в Контроллерах когда к ним обращаются сразу несколько пользователей?

И так! Есть скажем конролерр Home и он содержит action с именем DoSomeThingForUser

class HomeController : Controller 
{
   public ActionResult DoSomeThingForUser(SomeModel model)
   {
      //Что-то делаю с моделью, мб обращаюсь к базе и т.д и возвращаю юзеру 
      return(model)
   }
}

Как будет работать этот action когда скажем 100 пользователей обратятся к нему ?
1-ый пользователь попадет в этот action и он будет lock пока он не выйдет от туда, соответственно остальные 99 пользователей будут его ждать? Или для каждого пользователя создастся отдельный инстанc... хотя это бред, но все таки?
  • Вопрос задан
  • 585 просмотров
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C#
Никаких lock-ов в экшене не будет (если вы их сами туда не поставите), и не нужно им там быть. Дефолтовая фабрика контроллеров создает инстанс контроллера на каждый запрос, поэтому 99 пользователей одного ждать не будут. Если нужны подробности - ищите в гугле "asp.net mvc controller instancing", вываливается масса статей с которых можно начать разбираться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@coolfusion Автор вопроса
Nipheris:
Примерно так kernel.Bind<IDatabaseFactory>().To<DatabaseFactory>().InSingletonScope();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы