Можно ли программно обрабатывать кэшированные страницы в веб-формах? - PullRequest
3 голосов
/ 22 августа 2011

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

Кроме того, после очистки кеша я могу использовать запрос HttpWebRequest для повторного кэширования этих страниц, чтобы пользователю не пришлось это делать?

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

Примечание. У меня есть доступ к серверу и IIS.

Ответы [ 3 ]

1 голос
/ 22 августа 2011

Если у вас нет каких-либо действий на странице (например, отправки, ...), которые вызывают обратную передачу:

В разделе Render sub страницы, получите строку содержимого страницы и установите ее в Application ["Твой ключ"].(При первом вызове)

После этого в Page_Init вы можете просто проверить, имеет ли значение Application ["YourKey"], если да, использовать response.write (Application ["YourKey"]).

Если вы хотите сбросить кэш, просто установите для Application ["YourKey"] ничего.

1 голос
/ 22 августа 2011

Если используемая вами база данных - SQL Server, вы можете использовать зависимость кэша SQL (SqlCacheDependency) для целей кэширования, это позволит вам кэшировать ваши страницы, которые зависят от данных из базы данных.Как только данные в вашей таблице базы данных изменятся, кеш станет недействительным, и в следующий раз будет сгенерирована новая страница ... Для получения дополнительной информации, вот ссылка: http://msdn.microsoft.com/en-us/library/e3w8402y(v=vs.80).aspx, а также с www.asp.net вы также можете скачать видеоурок

0 голосов
/ 23 августа 2011

Когда на прошлой неделе я переустановил Windows и все компоненты разработки на своем рабочем столе, я заметил, что в IIS7 теперь есть режим динамического кэширования.Он не установлен по умолчанию.Вот немного информации об этом.Надеюсь, это поможет.

http://blogs.iis.net/bills/archive/2007/05/02/iis7-output-caching-for-dynamic-content-dramatically-speed-up-your-asp-and-php-applications.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...