title: Caching Web UserControl by Propety is not working (Grr!)
body: <p>Here's my control's code behind:</p>
  
  <pre><code>&lt;PartialCaching(60, Nothing, "UsrCtl_WebUserControl.CacheString", Nothing, True)&gt; _
  Partial Class UsrCtl_WebUserControl
   Inherits System.Web.UI.UserControl
  
   Private _CacheString As String
  
   Public Property CacheString() As String
    Get
     Return _CacheString
    End Get
    Set(ByVal value As String)
     _CacheString = value
    End Set
   End Property
  End Class
  </code></pre>
  
  <p>Here's the Control's Markup:</p>
  
  <pre><code>&lt;%@ Control Language="VB" AutoEventWireup="false" CodeFile="WebUserControl.ascx.vb" Inherits="UsrCtl_WebUserControl" %&gt;
  &lt;span&gt;Control Generated &lt;%=DateTime.Now%&gt;&lt;/span&gt;
  </code></pre>
  
  <p>It just outputs the current time.</p>
  
  <p>Here's the user control embedded in a page:</p>
  
  <pre><code>&lt;uc:wuc ID="wuc" runat="server" CacheString="A" /&gt;
  </code></pre>
  
  <p>And in another page:</p>
  
  <pre><code>&lt;uc:wuc ID="wuc" runat="server" CacheString="B" /&gt;
  </code></pre>
  
  <p>According to the docs this control should maintain a different, 60 second cached version for each value of the CacheString property.</p>
  
  <p>It doesn't work - it caches for 60 seconds, but only one cached copy is created regardless of what I put in the CacheString property.</p>
  
  <p>Anyone any ideas what i'm doing wrong? - After 4 hours of this I have no hair or nails left - please save my monitor from the brick.</p>