title: How to Disable Attribute on Action When Applied at Controller Level?
body: <p>I have the following controller:</p>
  
  <pre><code>[NoCache]
  public class AccountController : Controller
  {
      [Authorize(Roles = "admin,useradmin")]
      public ActionResult GetUserEntitlementReport(int? userId = null)
      {
          var byteArray = GenerateUserEntitlementReportWorkbook(allResults);
  
          return File(byteArray,
                  System.Net.Mime.MediaTypeNames.Application.Octet,
                  "UserEntitlementReport.xls");
      }
  }
  
  public class NoCache : ActionFilterAttribute
  {
      public override void OnResultExecuting(ResultExecutingContext filterContext)
      {
          var response = filterContext.HttpContext.Response; 
          response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
          response.Cache.SetValidUntilExpires(false);
          response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
          response.Cache.SetCacheability(HttpCacheability.NoCache);
          response.Cache.SetNoStore();
          base.OnResultExecuting(filterContext);
      }
  }
  </code></pre>
  
  <p>As you can see, the controller is decorated with the <code>[NoCache]</code> attribute.  </p>
  
  <p>Is there any way to prevent this attribute from being applied to the <code>GetUserEntitlementReport</code> action?</p>
  
  <p>I know I can remove the attribute at the controller level but that is not my favorite solution because the controller contains many other actions and i don't want to have to apply the attribute to each action independently.</p>