загружать страницу заново, а не из кеша - PullRequest
2 голосов
/ 16 мая 2011

Есть ли способ заставить страницу не загружаться из кеша?Каждый раз, когда страница загружается, она загружается с сервера.Я использую asp.net MVC 3.

1 Ответ

12 голосов
/ 16 мая 2011

Вы можете использовать собственный фильтр действий без кэширования:

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);
    }
}

Затем украсьте любой контроллер / действие этим атрибутом, который вы не хотите кэшировать в клиентских браузерах.

...