Доступно ли кэширование пончиков в ASP.NET MVC 3? - PullRequest
12 голосов
/ 14 января 2011

ASP.NET MVC 3 (финальная версия) была выпущена сегодня. Когда эта версия была в зачаточном состоянии, я помню, как читал в Codeplex, что рассматривалось кэширование пончиков. Кто-нибудь знает, сделал ли это это в V3? Кажется, я не могу найти какую-либо информацию, поэтому могу только (к сожалению) предположить, что этого не произошло.

Ответы [ 4 ]

15 голосов
/ 14 января 2011

Да, это так. Скотт Гу написал об этом :

В дополнение к поддержке полной страницы кэширование вывода, ASP.NET MVC 3 также поддерживает частичное кэширование страниц - что позволяет кэшировать область вывода и повторно использовать его по нескольким запросам или контроллеры. [OutputCache] поведение для частичного кэширования страниц было обновлено с RC2, так что суб-контент кэшированные записи варьируются в зависимости от входные параметры в отличие от URL структура запроса верхнего уровня - что делает сценарии кэширования как легче и мощнее, чем поведение в предыдущем RC.


UPDATE:

В ASP.NET MVC 3 поддерживается только кэширование кольцевых дыр. Это позволяет кэшировать небольшую часть страницы с помощью атрибута [OutputCache] дочернего действия. Кэширование пончиков, которое позволяет исключать части страницы, которые были кэшированы, не поддерживается. Response.WriteSubstitution не работает со времени ASP.NET MVC 2. Вот хорошая статья , которая объясняет различные параметры кэширования, доступные в ASP.NET MVC 3.


ОБНОВЛЕНИЕ 2:

Вот отличная статья 1024 *, в которой показано, как можно включить кэширование пончиков в ASP.NET MVC 3.

2 голосов
/ 25 января 2013

Я нашел пакет NuGet MvcDonutCaching, упомянутый Denis Huvelle , который решает проблему для 3 и 4 - но я не тестировал его.

2 голосов
/ 09 августа 2011

Кеширование пончиков (да, настоящее) доступно как часть моей «скоростной библиотеки» для MVC: Moth .Работает как в ASP.NET MVC 2, так и в MVC 3.

Документы находятся в вики , а примеры - в папке Mvc3.Demo

2 голосов
/ 15 января 2011

Вот немного более подробный пример от Скотта с использованием синтаксиса Razor.

...