Действительно ли OutputCacheFilter в Microsoft MVC Preview 4 экономит на вызовах действий?

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

Кэширование вывода страниц было нашим спасителем и дало нам возможность соответствовать нашим требованиям к производительности.

У меня вопрос, есть ли разница между действием OutputCacheFilterи кэшированием вывода страницы?

Кэширование вывода действий быстрее, чем кэширование вывода страницы?

14.08.2008 04:16:18
2 ОТВЕТА
РЕШЕНИЕ

Внутри OutputCacheAttribute (он же фильтр вывода кэша) использует тот же внутренний механизм, что и кэширование вывода страницы (иначе как директива @OutputCache).

Следовательно, это не быстрее, чем кэширование вывода страницы. Однако с MVC вы действительно не можете использовать кэширование вывода страницы через директиву @OutputCache в MVC, потому что мы визуализируем представление (или страницу) после выполнения действия. Таким образом, вы получите очень мало пользы.

С фильтром кеша вывода он делает правильные вещи и не выполняет код действия, если результат находится в кеше вывода. Надеюсь, это поможет. :)

3
14.08.2008 16:32:22

Просто имейте в виду, что в настоящее время существует ошибка, если вы вызываете Html.RenderAction (..) для действия, помеченного для кэширования. Вместо конкретного кэшируемого действия вся страница кэшируется. Я уже сообщал об этом в codeplex, и, похоже, это известная проблема: Calling <% HTML.RenderAction <...> (...); %> к действию с [OutputCache (..)] вызывает кеширование всей страницы.

1
16.08.2008 13:17:05