Сегодня появился ASP.NET MVC 3 (окончательный). Когда эта версия была в зачаточном состоянии, я помню, как читал на codeplex, что рассматривается кэширование пончиков. Кто-нибудь знает, превратилось ли это в V3? Я не могу найти какую-либо информацию, поэтому могу (только грустно) предположить, что этого не произошло.
Доступно кэширование пончиков в ASP.NET MVC 3
Ответ 1
Да, это так. Скотт Гу рассказал об этом:
В дополнение к поддержке полной страницы кэширование вывода, ASP.NET MVC 3 также поддерживает кеширование с частичной страницей - позволяет кэшировать область вывода и повторно использовать его по нескольким запросам или контроллеров. [OutputCache] поведение для частичного кэширования было обновлено с помощью RC2, чтобы суб-контент записи в кэше варьируются в зависимости от входные параметры в отличие от URL-адреса структура запроса верхнего уровня - который делает сценарии кэширования как проще и мощнее, чем поведение в предыдущем RC.Забастовкa >
UPDATE:
В ASP.NET MVC 3 поддерживается только кеширование отверстий для донутов. Это позволяет кэшировать небольшую часть страницы с помощью атрибута [OutputCache]
для дочернего действия. Не поддерживается кэширование пончиков, которое позволяет исключать части страницы, которые были кэшированы. Response.WriteSubstitution
не работает с ASP.NET MVC 2. Вот хорошая статья, в которой объясняются различные параметры кеширования, доступные в ASP.NET MVC 3.
ОБНОВЛЕНИЕ 2:
Здесь отличная статья, которая иллюстрирует, как кэширование пончиков может быть включено в ASP.NET MVC 3.
Ответ 2
Вот немного более подробный пример от Скотта, используя синтаксис Razor.
Ответ 3
Кассета для пончиков (да, настоящая вещь) доступна как часть моей "скорости-lib" для MVC: Moth. Работает как в ASP.NET MVC 2, так и в MVC 3.
Ответ 4
Я нашел пакет NuGet MvcDonutCaching, упомянутый Denis Huvelle, который решает проблему для 3 и 4 - но я ее не тестировал.