Страницы моего веб-сайта состоят из двух видов контента. Первый - переменный между пользователями, но постоянный для всех страниц. Второй - постоянный для пользователей, но переменный между страницами. Это обычная раскладка. Как лучше всего применить кэширование вывода к подобному контенту?
Насколько я понимаю, помощник Html.Substitute несовместим с конвейером рендеринга MVC2, что устраняет старый способ кэширования пончиков.
Уровень специфичности снизит ценность кэширования вывода. Маловероятно, что один и тот же пользователь будет просматривать одну и ту же страницу очень много раз в течение срока жизни кэшированного вывода.
В Интернете есть несколько попыток, которые изменяют атрибут OutputCache и подсистему рендеринга на поддержка подмены. Лучшее, что я нашел, это здесь .
Однако различные найденные мной фрагменты кажутся неформальными реализациями и не очень хорошо поддерживаются. Кроме того, я склонен подозревать, что если бы было так просто добавить подстановку обратно в конвейер MVC2, это было бы сделано.
Метод действия не будет отмечен атрибутом OutputCache
и вернет представление, которое содержит несколько Html.RenderAction
вызовы, которые извлекают независимо кэшированный контент. Помимо несколько тяжелых последствий использования RenderAction
, это добавило бы дополнительный уровень косвенности и запах кода.
Каков ваш опыт создания независимо кэшированного содержимого в MVC2? Что работает хорошо, а что нет?