O OutputCacheFilter no Microsoft MVC Preview 4 realmente economiza em invocações de ação?

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

Pergunta

Implantamos um site ativo, novo e sofisticado usando a visualização 3, incluindo testes de estresse rigorosos.

O cache de saída de página foi nosso salvador e nos proporcionou a capacidade de atender aos nossos requisitos contratuais de desempenho.

Minha pergunta é: existe alguma diferença entre ação OutputCacheFilter e cache de saída de página?

O cache de saída da ação é mais rápido que o cache de saída da página?

Foi útil?

Solução

Internamente, o OutputCacheAttribute (também conhecido como filtro de cache de saída) usa o mesmo mecanismo interno que cache de saída de página (também conhecida como diretiva @OutputCache).

Portanto, não é mais rápido que o cache de saída de página.No entanto, com MVC, você realmente não pode usar o cache de saída de página por meio da diretiva @OutputCache no MVC porque renderizamos a visualização (também conhecida como página) depois a ação é executada.Portanto, você ganharia muito pouco benefício.

Com o filtro de cache de saída, ele faz a coisa certa e não executa o código de ação se o resultado estiver no cache de saída.Espero que ajude.:)

Outras dicas

Esteja ciente de que atualmente há um bug se você chamar Html.RenderAction(..) em uma ação marcada para ser armazenada em cache.Em vez de a ação específica ser armazenada em cache, a página inteira é armazenada em cache.Já relatei isso no codeplex e parece ser um problema conhecido:Chamando <% HTML.RenderAction<...>(...);%> para uma ação com [OutputCache(..)] faz com que a página inteira seja armazenada em cache.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top