title: HttpModule and static class, do multiple requests share the same static data?
body: <p>I have written an ASP.NET HttpModule and I have a static helper class that is used to load and store configuration data for the life of the request.</p>
  
  <p>Since static constructors must be parameterless, I have a static SetConfigName method that I call at the start of the processing of the HttpRequest.</p>
  
  <pre><code>    public static void SetConfigName (string configName)
      {
          // load data specific to given configName
      }
  </code></pre>
  
  <p>There are also static Get() methods that are called later during processing of the HttpRequest.</p>
  
  <p>The configuration data that is loaded can be different for each request (based on values in the URL), so I do <strong>not</strong> want other requests to share the static data once I have called SetConfigName.</p>
  
  <p>So the question is, do multiple requests share the same static data, or does each new request get a separate copy of the static class? (And if data is shared, how to avoid it? Is the only alternative to make it a non-static class?)</p>
  
  <p>(By the way, I do not use global.asax.)</p>