title: Caching Proxy Design Advice
body: <p>I'm relatively new to proxies.<br>
  I am currently required to design a caching proxy for work.<br>
  We have a webservice which serves up data based on calls to it, naturally.<br>
  I am required to create a proxy for a rich client application that caches the results of these calls.<br>
  The results are basically string names of products identified by a composition of ids.</p>
  
  <p>I could just create a class that acts as my proxy client that caches the results in a cache, I was thinking of using the System.Web.Caching.Cache object.</p>
  
  <p>However I thought I'd ask to see if there are any design aspects and considerations that I have missed. Is there a design that is commonly known that I have not found?</p>
  
  <p><strong>[UPDATE - 12 Oct 2009]</strong><br>
  Seems like System.Web.Caching.Cache is not advisable for client side caching.</p>
  
  <blockquote>
    <p><strong><a href="http://msdn.microsoft.com/en-us/library/system.web.caching.cache.aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/library/system.web.caching.cache.aspx</a>:</strong>  </p>
    
    <p>The Cache class is not intended for
    use outside of ASP.NET applications.
    It was designed and tested for use in
    ASP.NET to provide caching for Web
    applications. In other types of
    applications, such as console
    applications or Windows Forms
    applications, ASP.NET caching might
    not work correctly.</p>
  </blockquote>