title: RemoveOutputCacheItem not working
body: <p>I have an <code>ActionResult</code> that returns a file result:</p>
  
  <pre><code>[OutputCache(VaryByParam = "document_id;size", Duration = 3 * 60 * 60, Location = OutputCacheLocation.Server)]
  public ActionResult GetDocumentThumbnail(Guid document_id, int size)
  {
      byte[] thumbnail = null;
      switch (size)
      {
          case 100:
              thumbnail =
                  (from a in _unitOfWork.Documents
                      where a.Id == document_id
                      select a.Thumbnails.Thumbnail_100).First();
              break;
  
          case 25:
              thumbnail =
                  (from a in _unitOfWork.Documents
                      where a.Id == document_id
                      select a.Thumbnails.Thumbnail_25).First();
              break;
      }
      return File(thumbnail, "image/png");
  }
  </code></pre>
  
  <p>The Action gets cached properly, so after the first load, all the other requests doesn't goes into the Action body anymore.</p>
  
  <p>The problem starts when i try to remove the cache for a specific document:</p>
  
  <p>I have this function which i call but does nothing (the document thumbnail is still cached when i request it again)</p>
  
  <pre><code>private void RemoveDocumentThumbnailCache(Guid document_Id)
  {
      HttpResponse.RemoveOutputCacheItem("/DocumentThumbnail/" + document_Id + "/");
  }
  </code></pre>
  
  <p>I also tried <a href="https://stackoverflow.com/questions/5440164/removeoutputcacheitem-broken-after-adding-querystring">this solution</a> but with no result: I've added a custom route so the path doesn't contains query string parameters. Not working</p>
  
  <pre><code>routes.MapRoute(
      name: "DocumentThumbnail",
      url: "DocumentThumbnail/{document_id}/{size}",
      defaults: new { controller = "Home", action = "GetDocumentThumbnail" }
  );
  </code></pre>
  
  <p>What i am doing wrong?</p>