How to disable browser cache in asp.net mvc
How to disable browser cache in asp.net mvc
Problem:
asp.net mvc some time show old data in screens. to avoid this issue we need to disable cache.
Solution
1) Create a Filter
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Controllers.Filter
{
public class CacheFilter : 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);
}
}
}
2) Register filter on OnResultExecuting
using System.Web;
using System.Web.Mvc;
using project.Controllers.Filter
namespace Projecdt.App_Start
{
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new RefreshSessionController());
filters.Add(new Filter.CacheFilter());
}
}
}
Share This with your friend by choosing any social account