2010-03-11 4 views
0

У нас есть небольшая веб-ферма (2 сервера), сбалансированная встроенным балансировщиком сетевой нагрузки в Windows 2003. У нас есть несколько страниц, использующих кеширование страниц. Мой вопрос: возможно ли, что данный пользователь может заставить кешировать страницу, а другой пользователь видит этот контент? Вот директива страницы для данной страницы:Кэширование страницы ASP.NET в веб-ферме

<%@ OutputCache Duration="1" NoStore="true" VaryByParam="none" %> 

Причина продолжительность устанавливаются в «1», чтобы убедиться, что страница не кэшируется больше, чем на 1 секунду из-за сделки, действия на страница может запускаться.

+2

Почему даже кеш в показанном вами сценарии? –

+0

На самом деле мы пытаемся предотвратить кеширование, когда пользователь нажимает кнопку «Назад» – Achilles

ответ

0

Я думаю, что вместо того, чтобы кэшировать страницу на одну секунду вы должны смотреть на как не запускать транзакции, когда они были выполнены.

0

Да, все пользователи, которые запросили страницу, в частности, вторую,

В asp.net лучше использовать OutputCache на уровне элементов управления, который имеет такой же синтаксис.

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

Кроме того, Существует нет смысла реализовывать его на основе входа пользователя/идентификатор, потому что пользователи не будут запрашивать данные несколько раз в второй

+0

Даже если свойство Duration установлено в 1? Мы пытаемся принудить истечение срока действия страницы после каждой обратной передачи, чтобы пользователь не нажимал «назад» и не отправлял транзакции. – Achilles

+0

«Назад» в большинстве случаев загружает страницу из кеша браузера. OutputCache не может полностью остановить вас. Думаю, вам нужно сыграть с заголовками страниц, где должно быть возможно указать дату истечения срока действия страницы, но я не эксперт в этом – st78