Кэширование страниц ASP.NET в веб-ферме - PullRequest
0 голосов
/ 11 марта 2010

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

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

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

Ответы [ 2 ]

0 голосов
/ 12 марта 2010

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

0 голосов
/ 11 марта 2010

Да, все пользователи, которые запрашивали страницу за определенную секунду, увидят ТОТ ЖЕ выход.

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

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

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

...