title: OutputCache behavior in ASP.NET MVC 3
body: <p>I was just testing Output Caching in the RC build of ASP.NET MVC 3.</p>
  
  <p>Somehow, it is not honoring the VaryByParam property (or rather, I am not sure I understand what is going on):</p>
  
  <pre><code>public ActionResult View(UserViewCommand command) {
  </code></pre>
  
  <p>Here, UserViewCommand has a property called slug which is used to look up a User from the database.</p>
  
  <p>This is my OutputCache declaration:</p>
  
  <pre><code>[HttpGet, OutputCache(Duration = 2000, VaryByParam = "None")]
  </code></pre>
  
  <p>However, when I try and hit the Action method using different 'slug' values (by manupulating the URL), instead of serving wrong data (which I am trying to force by design), it is instead invoking the action method.</p>
  
  <p>So for example (in order of invocation)</p>
  
  <p>/user/view/abc -> Invokes action method with slug = abc
  /user/view/abc -> Action method not invoked
  /user/view/xyz -> Invokes action method again with slug = xyz! Was it not supposed to come out of the cache because VaryByParam = none?</p>
  
  <p>Also, what is the recommended way of OutputCaching in such a situation? (example above)</p>