title: use a 'dynamic' static property across multiple users?
body: <p>I'm trying to understand if there is any issue with doing a 'dynamic' static property. Say, I have an <code>ASP.NET Webforms</code> application that deals with Employees in a company. For the sake of this question, lets say this application is built for only one company.</p>
  
  <p>Assume there is a class called Employee. It contains one static property.</p>
  
  <pre><code>public static string CompanyName = "My Company";
  </code></pre>
  
  <p>Now anywhere on the site if I use CompanyName, it is going to display the same company name for all users. A true static usage.</p>
  
  <p>Now assume I define another property as (Lets say this is for ease of usage across the site so you can just do <code>Employee.LoggedIn</code>. )</p>
  
  <pre><code>public static Employee LoggedIn
  {
     get 
     {
       return Session["LoggedInEmployee"] As Employee;
     }
  }
  </code></pre>
  
  <p>This will return different values for different employees based on what user is connected to the site. Does this mean there is a copy of this variable for every user? I know this works as expected but just wondering if it is safe to do this.</p>
  
  <p><em>EDIT</em> - i'm not looking for better ways to do this. I'm only trying to understand how the static property can hold different values. Someone commented saying the 'get' is a method, but still the property is represented as static.</p>