title: Singleton in .NET shared across all sessions?
body: <p>I am creating a singleton to hold a linqtoumbraco datacontext which pulls data from a cached xml file.  </p>
  
  <p>I understand how to create a singleton class and to use locks to prevent new threads from creating new instances.</p>
  
  <p>I don't understand multithreading and how .NET sessions work too well and want to know if I create the singleton as described above, will it be shared by all users who hit my web app while the app pool remains alive?  In other words, the singleton is not just a singleton for one user session, it is for all sessions?</p>
  
  <p>Thanks</p>