Каков некоторый сценарий наличия контроллера без сессии в ASP.NET MVC3? - PullRequest
16 голосов
/ 10 ноября 2010

Чтение В блоге Гуру-Гу о том, что ASP.NET MVC3 нажимает на RC , он говорит: -

Поддержка контроллера без сессий

Теперь вы можете указать, хотите ли вы Класс контроллера для использования состояния сеанса - и если да, хотите ли вы, чтобы это было чтение / запись или только чтение. чтение / запись или только чтение.

Может кто-нибудь объяснить, по какому-то сценарию кто-то может захотеть иметь контроллер без сессий? или контроллер только для чтения?

Я всегда создавал отдельный веб-сайт IIS, который я использую для обработки всех статических изображений / содержимого, а затем отключил состояние сеанса этого же веб-сайта ... поэтому файлы cookie не отправляются через провод. Это похожий сценарий?

1 Ответ

25 голосов
/ 10 ноября 2010

Гу прокомментировал это. Цитирование:

Примечания к выпуску охватывают это больше (вы можете скачать их из загрузки ссылка выше). Состояние сеанса разработан так, чтобы только один запрос от конкретный пользователь / сеанс происходит в время. Так что если у вас есть страница, которая имеет несколько обратных вызовов AJAX происходит в как только они будут обработаны в серийном мода на сервере. Собирается без сеанса означает, что они будут выполнить параллельно.

Это известный сценарий в ASP.NET в целом. Объект сеанса для того же пользователя не является потокобезопасным. Это означает, что если один и тот же пользователь (один и тот же файл cookie идентификатора сеанса) отправляет несколько запросов на страницу, которая использует сеанс, эти запросы будут помещены в очередь и будут обрабатываться последовательно, а не параллельно.

...