Действительно ли OutputCacheFilter в Microsoft MVC Preview 4 экономит на вызовах действий? - PullRequest
6 голосов
/ 14 августа 2008

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 14 августа 2008

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

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

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

1 голос
/ 16 августа 2008

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

...