Подтвердить что ты не робот

Включение/выключение состояния сеанса для каждого контроллера/метода действий

Мы создаем приложение ASP.NET MVC, которое будет развернуто за аппаратным балансиром нагрузки, который поддерживает, помимо прочего, кеширование.

Наше предложение состоит в том, чтобы вручную определить, какие шаблоны URL должны быть кэшированы балансировщиком нагрузки. Это будет довольно простой процесс для нас, поскольку у нас есть страницы "каталога", которые являются относительно статичными, а затем "упорядоченными" страницами, которые не являются.

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

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

Помимо повторной реализации всего HTTP-контроллера ASP.NET MVC... любые предложения?

Спасибо заранее.

4b9b3361

Ответ 2

Теперь он перемещается из фьючерсов в MVC3. Там атрибут ControllerSessionState (по-видимому, будет иметь имя SessionState для окончательной версии MVC3), который может быть применен к контроллеру, примерно так:

[SessionState(SessionStateBehavior.Disabled)]
public class MyController : Controller
{
 ...

(Но в версии RC вы должны использовать ControllerSessionState