2010-11-09 3 views
16

Чтение Guru-Gu's blog post about ASP.NET MVC3 hitting RC, он говорит: -Каков сценарий использования диспетчера без сеанса в ASP.NET MVC3?

Session-менее Поддержка контроллера

Теперь вы можете указать, хотите ли вы класса контроллера использовать состояние сеанса - и если да, хотите ли вы его be чтение/запись или readonly.read/write или readonly.

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

Я всегда создавал separate IIS website which I use to handle all static images/content and then have this same website have session state turned off ... поэтому никакие куки не отправляются по проводу. Это аналогичный сценарий?

ответ

25

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

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

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

+0

О, ничего себе. Я никогда не знал этого (и я работал с ASP с классического ASP). Вау. Но ... это имеет смысл :) Данные сеанса важны и, следовательно, нужно будет «заблокировать», я предполагаю, заставляя выполнять последовательную обработку. Хм ... Так что это был бы отличный кандидат, чтобы сделать все Ajax ActionMethods Session-less :) –

+4

Абсолютно все вызовы AJAX должны быть сделаны без сеансов. Кстати, я ненавижу сеанс, поэтому в целом я делаю все свое приложение без сеанса :-) –

+1

Так что вам вообще ничего не нужно в сеансе? зарегистрированный пользователь? –

Смежные вопросы