【发布时间】:2011-05-16 12:44:04
【问题描述】:
有没有办法强制页面不从缓存中加载?每次加载页面时,它都会从服务器加载。 我正在使用 asp.net MVC 3。
【问题讨论】:
标签: asp.net-mvc-3 browser-cache
有没有办法强制页面不从缓存中加载?每次加载页面时,它都会从服务器加载。 我正在使用 asp.net MVC 3。
【问题讨论】:
标签: asp.net-mvc-3 browser-cache
您可以使用自定义的无缓存操作过滤器:
public class NoCacheAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
var cache = filterContext.HttpContext.Response.Cache;
cache.SetExpires(DateTime.UtcNow.AddDays(-1));
cache.SetValidUntilExpires(false);
cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
cache.SetCacheability(HttpCacheability.NoCache);
cache.SetNoStore();
base.OnResultExecuting(filterContext);
}
}
然后使用此属性装饰您不希望被客户端浏览器缓存的任何控制器/动作。
【讨论】: