pramodtech
pramodtech

Reputation: 6270

load page freshly and not from cache

Is there way I can force page not to load from cache? Everytime page is loaded it is loaded from server. I'm using asp.net MVC 3.

Upvotes: 2

Views: 2749

Answers (1)

Darin Dimitrov
Darin Dimitrov

Reputation: 1038930

You could use a custom no cache action filter:

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

Then decorate any controller/action with this attribute that you don't want to be cached by client browsers.

Upvotes: 12

Related Questions