title: Remove OutputCache with multiple VaryByParam
body: <p>I have a action like this:</p>
  
  <pre><code>    [OutputCache(Duration = 3600, Location = OutputCacheLocation.ServerAndClient, VaryByParam = "page;categor;searchString")]
      public virtual async Task&lt;ActionResult&gt; Index(int? category, int page = 1, string searchString = null)
  </code></pre>
  
  <p>This action can have multiple cache result. its fine so far. but when i post a new content, i like to remove all those multiple cache result.</p>
  
  <p>I know i can use <code>RemoveOutputCacheItem</code> with a list of urls in a foreach or so.. </p>
  
  <pre><code>var urls = new List&lt;string&gt;();
  foreach (var url in urls)
  {
     HttpResponse.RemoveOutputCacheItem(url);
  }
  </code></pre>
  
  <p>But for that i have to make several connection to my database and get categories, pages and even if somehow i get all the search string, it's still cause too much trouble.</p>
  
  <p>My question is, Is there a better way to remove all those cache at once?</p>