Is a class with static members and a public constructor a static class?
<p>If I have a class that is not marked <code>static</code>, but it does have <code>static</code> member variables, does this make the class itself <code>static</code>? It's being used in code like it is, but it has a public constructor. I thought they can only have private constructors?</p>

<p>Also, in a web application in a web page I make a call to a static class and assign it to a static member variable to be used in the page. If a user leaves the page will the static member variable remain in memory? I'm thinking just for the duration of that user's session, correct? Or would GC refrain from collecting it for some longer period of time?</p>

<p>Ok here's some code:</p>

<pre><code> public class CustomerManager
{

    private static MyFactory _customerFactory = MyFactory.GetInstance();

    public CustomerManager()
    { }

     public static List&lt;CustUser&gt; GetCustomersByWebRequest(int iClientID, string sEmployeeNumber)
</code></pre>

<p>It is being called in another class that is static like so:</p>

<pre><code> List&lt;CustUser&gt; customers = CustomerManager.GetCustomersByWebRequest(1, "23434");
</code></pre>

<p>and this is in production. </p>
