ASP.NET MVC El almacenamiento en caché de donas extensible trae almacenamiento en caché de donas a ASP.NET MVC 3 y posterior. El código le permite almacenar en caché toda su página aparte de una o más html.acciones que pueden ejecutarse en todas las solicitudes. Perfecto para contenido específico del usuario.
La mejor manera de agregar caché de donas a su proyecto MVC es usar el paquete Nuget. Desde dentro de Visual Studio, seleccione Herramientas | Manager de paquetes de la biblioteca y luego elija la consola del administrador de paquetes o administre los paquetes Nuget. A través de la consola, simplemente escriba el paquete de instalación mvcdonutcaching y presione la devolución. Desde la GUI, solo busque MVCDonutCaching y haga clic en el botón Instalar.
El paquete agrega varias sobrecargas al ayudante HTML HTML incorporado. El parámetro adicional en cada sobrecarga se denomina excluyeFromParentCache . Establezca esto en verdadero para cualquier acción que no debe almacenarse en caché, o debe tener una duración de caché diferente del resto de la página.
@Html . Action ( "Login" , "Account" , true )El paquete también incluye un DonutOutputCacheAttribute que se utilizará en lugar de la salida de salida incorporada. Este atributo generalmente se coloca en cada acción del controlador que se necesita almacenar en caché.
Puede especificar una duración fija:
[ DonutOutputCache ( Duration = "300" ) ]
public ActionResult Index ( )
{
return View ( ) ;
}O use un perfil de caché:
[ DonutOutputCache ( CacheProfile = "FiveMins" ) ]
public ActionResult Index ( )
{
return View ( ) ;
}Si está utilizando los perfiles de caché, asegúrese de configurar los perfiles en Web.Config. Agregue lo siguiente dentro del elemento System.Web:
< caching >
< outputCacheSettings >
< outputCacheProfiles >
< add name = " FiveMins " duration = " 300 " varyByParam = " * " />
</ outputCacheProfiles >
</ outputCacheSettings >
</ caching >También puede configurar el caché de salida para usar un proveedor personalizado:
< caching >
< outputCache defaultProvider = " DistributedCacheProvider " >
< providers >
< add name = " DistributedCacheProvider " type = " DevTrends.Example.DistributedCacheProvider " />
</ providers >
</ outputCache >
</ caching >Tenga en cuenta que un proveedor personalizado no está incluido con este proyecto, pero puede escribir uno con bastante facilidad subclasificando el sistema.web.caching.outputcacheprovider . Varias implementaciones también están disponibles en la web.
Una guía completa para el almacenamiento en caché de donas extensible MVC ahora está disponible en el blog Devtrends.