title: Caching across Applications in .Net on a Windows Machine
body: <p>I am trying to implement caching in .Net such that the cached data is accessible not just by an application that may run multiple times on the same machine but by other types of applications that may run on the machine. They could be windows services, web services, win forms etc.</p>
  
  <p>I have looked at System.Runtime.Caching (because Enterprise Application Blocks Caching is going to become obsolete) as a means to achieve this. The default MemoryCache is insufficient to achieve this as I don't believe that it work across app domains.</p>
  
  <p>Is there a way I can implement the kind of caching I am looking for or is there a caching dll of some sort (must be free) that I can use to achieve my goal?</p>
  
  <p>Is there a way to use System.Runtime.Caching with IsolatedStorage scoped to MachineLevel?</p>
  
  <p>I've looked at memcache too and can't use it because we need this to run on windows machines. I started looking at SharedCache (http://www.codeproject.com/KB/web-cache/AdvanceCaching.aspx) and am curious about the pitfalls it has as well.</p>
  
  <p>Thanks. </p>
  
  <hr>
  
  <p><strong>-- Revision 1 --</strong></p>
  
  <hr>
  
  <p>I think the optimal solution for me would use the <strong>Caching</strong> object to a <strong>Memory Mapped File</strong> (http://msdn.microsoft.com/en-us/library/dd997372.aspx). So the question I have now is whether anyone has done that with the System.Runtime.Caching object. There must be a way to extend it if necessary...examples of how to do so would also be much appreciated.</p>