title: How to supress header Vary:* when using OutputCacheProfiles
body: <p>Using any of the OutputCacheProfiles given below</p>
  
  <pre><code>&lt;caching&gt;
    &lt;outputCacheSettings&gt;
      &lt;outputCacheProfiles&gt;
        &lt;clear/&gt;
  
        &lt;add
          name="CachingProfileParamEmpty"
          duration="87"
          varyByParam=""
          location="Any"
        /&gt;
  
        &lt;add
          name="CachingProfileParamNone"
          duration="87"
          varyByParam="None"
          location="Any"
        /&gt;
  
        &lt;add
          name="CachingProfileParamStar"
          duration="87"
          varyByParam="*"
          location="Any"
        /&gt;
      &lt;/outputCacheProfiles&gt;
    &lt;/outputCacheSettings&gt;
  &lt;/caching&gt;
  </code></pre>
  
  <p>header Vary:* is always sent</p>
  
  <pre><code>HTTP/1.1 200 OK
  Server: ASP.NET Development Server/10.0.0.0
  Date: Mon, 05 Mar 2012 20:11:52 GMT
  X-AspNetMvc-Version: 3.0
  Cache-Control: public, max-age=87
  Expires: Mon, 05 Mar 2012 20:13:13 GMT
  Last-Modified: Mon, 05 Mar 2012 20:11:46 GMT
  Vary: *
  Content-Type: text/html; charset=utf-8
  Content-Length: 5368
  Connection: Close
  </code></pre>
  
  <p>which in turn causes the browser to send the request to the server and not cache locally. Even using </p>
  
  <pre><code>this.Response.Cache.SetOmitVaryStar(false);
  </code></pre>
  
  <p>doesn't help. The only way I can force the header not to be sent is to use direct attribute</p>
  
  <pre><code>[OutputCache(Duration = 60, VaryByParam = "", Location = OutputCacheLocation.Any)]
  public ActionResult Index()
  </code></pre>
  
  <p>What am I doing wrong? I would prefer to use the CacheProfiles as those can be modified in the web.config.</p>
  
  <p>The headers posted here are from the Cassini (Server: ASP.NET Development Server/10.0.0.0) but I have seen identical results in IIS 7 on Windows 2008 as well.</p>