Pregunta

Implementamos un sitio vivo, nuevo y elegante utilizando la versión preliminar 3, incluidas pruebas de estrés rigurosas.

El almacenamiento en caché de resultados de página fue nuestro salvador y nos brindó la capacidad de cumplir con nuestros requisitos contractuales de desempeño.

Mi pregunta es, ¿hay alguna diferencia entre acción OutputCacheFilter y almacenamiento en caché de salida de página?

¿El almacenamiento en caché del resultado de la acción es más rápido que el almacenamiento en caché del resultado de la página?

¿Fue útil?

Solución

Internamente, OutputCacheAttribute (también conocido como filtro de caché de salida) utiliza el mismo mecanismo interno que almacenamiento en caché de salida de página (también conocida como directiva @OutputCache).

Por lo tanto, no es más rápido que el almacenamiento en caché de resultados de páginas.Sin embargo, con MVC, realmente no puedes usar el almacenamiento en caché de resultados de la página a través de la directiva @OutputCache en MVC porque representamos la vista (también conocida como página). después la acción se ejecuta.Por lo que obtendrías muy pocos beneficios.

Con el filtro de caché de salida, hace lo correcto y no ejecuta el código de acción si el resultado está en la caché de salida.Espero que ayude.:)

Otros consejos

Solo tenga en cuenta que actualmente existe un error si llama a Html.RenderAction(..) en una acción que está marcada para almacenarse en caché.En lugar de almacenar en caché la acción específica, se almacena en caché toda la página.Ya informé esto en Codeplex y parece ser un problema conocido:Llamando a <% HTML.RenderAction<...>(...);%> a una acción con [OutputCache(..)] hace que toda la página se almacene en caché.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top