Controlación de almacenamiento en caché en ASP.NET MVC Acciones
ASP.NET El mecanismo de almacenamiento en caché de MVC aumenta significativamente el rendimiento. Sin embargo, existen escenarios cuando deshabilitar el almacenamiento en caché de acciones particulares es vital para garantizar la recuperación de datos nuevos. Esta guía detalla los métodos para evitar el almacenamiento en caché en acciones específicas de ASP.NET MVC utilizando atributos personalizados.
creando un atributo nocache
para construir un atributo personalizado que deshabilite el almacenamiento en caché, aprovechamos los atributos [atributeusage]
y [ActionFilterAttribute]
. A continuación se muestra un ejemplo:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public sealed class NoCacheAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
filterContext.HttpContext.Response.Cache.SetValidUntilExpires(false);
filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
filterContext.HttpContext.Response.Cache.SetNoStore();
base.OnResultExecuting(filterContext);
}
}
aplicando [nocache]
a un controlador o método de acción deshabilita el almacenamiento en caché para ese elemento específico. Alternativamente, heredar de un controlador base y decorarlo con [nocache]
evita almacenar en caché todos los controladores heredados.
JQuery's Cache Control
cuando se usa jQuery para recuperación de datos, configurando explícitamente caché: falso
dentro del método $. Ajax ()
impide en caché:
$.ajax({
cache: false,
// ... other AJAX settings
});
que activa el navegador de actualización
Después de implementar medidas anti-caché, una "actualización dura" (CTRL F5) es crucial para garantizar que el navegador no confíe en los datos en caché. Una actualización estándar (F5) podría no siempre recuperar la información más reciente si el navegador conserva la versión en caché.
Resumen
utilizando nocacheAttribute
o configurar caché: falso
en jQuery evita efectivamente el almacenamiento en caché para las acciones de MVC ASP.NET específicas, garantizando que el navegador reciba datos actuales. Dominar el control de almacenamiento en caché es clave para evitar datos obsoletos que afectan la experiencia del usuario y la lógica de la aplicación.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3