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

StackOverflow https://stackoverflow.com/questions/10661

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top