ASP.NET MVC 3 (окончательный) был выпущен сегодня. Когда эта версия была в зачаточном состоянии, я помню, как читал на codeplex, что рассматривается кэширование пончиков. Кто-нибудь знает, превратилось ли это в V3? Я не могу найти какую-либо информацию, поэтому я могу (только грустно) предположить, что этого не произошло.Доступно кэширование пончиков в ASP.NET MVC 3
ответ
Да, это так. Скотт Гу
blogged about it:
В дополнение к поддержке полного кэширования вывода страницы , ASP.NET MVC 3 также поддерживает кэширование частичной страницы - что позволяет кэшировать область вывода и повторно использовать его через несколько запросов или контроллеры. [OutputCache] поведение для кэширования частичной страницы была обновлена с RC2, так что суб-контент кэшированные записи изменяется на основании входных параметров, в отличие от структуры URL запроса верхнего уровня - , что делает сценарии кэширования как проще и мощнее, чем поведение в предыдущем RC.
UPDATE:
Из коробки только кэширование дырка от бублика поддерживается в ASP.NET MVC 3. Это позволяет кэшировать небольшую часть страницы с помощью атрибута [OutputCache]
о детском действии. Не поддерживается кэширование пончиков, которое позволяет исключать части страницы, которые были кэшированы. Response.WriteSubstitution
не работает, так как ASP.NET MVC 2. Вот это good article, который объясняет различные варианты кэширования, доступные в ASP.NET MVC 3.
UPDATE 2:
Вот great article, который показывает, как кэширование пончиков может быть включено в ASP.NET MVC 3.
Это кэширование отверстий для пончиков, а не кеширование пончиков. Кассетное копирование понтов не поддерживается в ящике в MVC 3. – Levi
@ Levi, хорошая точка. Я уточню свой ответ. –
@Darin, Спасибо за обновление. Отличная статья. Я где-то читал, что цель состоит в том, чтобы включить кэширование пончиков в MVC 4. Не уверен, следует ли продержаться или использовать этот пакет nuget ... –
Вот несколько более detailed example от Скотта, используя синтаксис Razor.
Отличная ссылка, но не уверен, что это кэширование отверстий для пончиков, поскольку страница не кэшируется, но «отверстие пончика».Я не хочу кэшировать части своей страницы, но вместо этого кэширую страницу и оставляю детали динамическими. Это нюанс, но нужно уточнить. –
Я нашел пакет MvcDonutCaching NuGet упоминаемый Denis Huvelle, которая решает проблему 3 & 4 - но я не проверял его.
Позвольте мне получить это право, кэширование пончиков было доступно с .NET 2. MVC2 поддерживает его. MVC3 падает поддержка ?! Для чего? Без каких-либо альтернатив, кроме написания всего этого? Да, это не так. – batkuip