предотвратить выброс выходной кэшированной страницы - PullRequest
1 голос
/ 07 сентября 2011

Я пытаюсь предотвратить вывод кэшированной страницы из моего кэша вывода asp.net, если только другой не сможет заменить ее.Другими словами, если срок действия страницы истек (на основе свойства Duration профиля OutputCache), но доступ к странице теперь приводит к исключению, я просто хочу обслуживать старую, устаревшую страницу.Я надеялся, что провайдеры нестандартного кэша в ASP.NET 4 помогут мне в этой ситуации, но они не достаточно далеко продвинулись по конвейеру.

Вот что я знаю:

  • Система.Web.Caching.OutputCache действительно трудно прочитать через
  • Пользовательский поставщик кэша подключается после всех зависимостей и получает объект CachedVary.
  • Дата utcExpiry, переданная в Add и пользовательский поставщик кэшаУстанавливать методы просто DateTime.Max
  • Фактическое истечение срока действия элемента кэша происходит выше в конвейере
  • Даже для элементов с истекшим сроком действия метод Get пользовательского поставщика кэша все еще вызывается.Он возвращает кэшированный объект CachedVary, а затем вызывается метод действия моего контроллера.После этого метод Add вызывается с объектом CachedVary, а метод Set передается фактическому объекту данных кэшированной страницы.

Может ли кто-нибудь с большим опытом взлома outputcache направить меня сюда?Могу ли я выполнить то, что я ищу, с помощью ASP.NET outputcache?Должен ли я бросить свой собственный?

1 Ответ

0 голосов
/ 27 марта 2012

Я закончил вести блог о том, как я сделал это здесь: http://statichippo.com/blog/archive/2011/09/25/graceful-degradation-via-asp-net-outputcacheprovider.aspx

...