Search code examples
c#asp.net-mvc-4cachingcache-invalidation

Invalidate Cache using VaryByCustom


I want to invalidate cache using VaryByCustom attribute. Following code is being used for cache setup.

public override string GetVaryByCustomString(HttpContext context, string arg)
{
    if (!string.IsNullOrWhiteSpace(arg))
    {
        if (context.User.Identity.Name != null)
        {
            return context.User.Identity.Name;
        }
    }
    return base.GetVaryByCustomString(context, arg);
}

Solution

  • Are you using it like this:

    Make sure you decorate your action with attribute:

     [OutputCache(Duration = 3600, VaryByParam = "*", Location = OutputCacheLocation.Server, VaryByCustom = 
      "YourStringThatIsArgParamInYourGlobalAsaxMethod")]
      public ActionResult MyActionOnTheController(string myParam)
     {
     }