title: Autofac throws an ObjectDisposedException
body: <p>I recently added Autofac 2.6.2 to one of my ASP.NET MVC projet.</p>
  
  <p>I'm facing an issue, when I want to Resolve my WebDataContext I have an ObjectDisposedException:</p>
  
  <pre><code>Instances cannot be resolved and nested lifetimes cannot be
  created from this LifetimeScope as it has already been disposed.
  </code></pre>
  
  <p>When I call my Index page, my browser sends many requests to get the index page and all other resources needed (css, js and so on). One of these requests can resolve the IWebDataContext and all others throw the ObjectDisposedException. </p>
  
  <p>So my code looks something like this:</p>
  
  <pre><code>protected void Application_Start()
  {
      MyContext.Initialize();
      DependencyResolver.SetResolver(new AutofacDependencyResolver(MyContext.Container));
      [...]
  }
  
  public class MyContext
  {
      public static IContainer Container { get; set; }
  
      public static void Initialize()
      {
          ContainerBuilder container = new ContainerBuilder();
          IDependencyRegistrar registrar = new DependencyRegistrar();
          registrar.Register(container);
          MyContext.Container = container.Build();
      }
  
      public static IEngine Engine
      {
          get { return Singleton&lt;IEngine&gt;.Instance; }
      }
  }
  
  public class DependencyRegistrar : IDependencyRegistrar
  {
      public void Register(object containerBuilder)
      {
          ContainerBuilder builder = (ContainerBuilder)containerBuilder;
          builder.RegisterControllers(Assembly.GetExecutingAssembly());
          builder.RegisterType&lt;WebDataContext&gt;().As&lt;IWebDataContext&gt;().InstancePerHttpRequest();
              [...]
  }
  </code></pre>
  
  <p>And finally the way I resolve my registered dependencies:</p>
  
  <pre><code>public class MyEngine : IEngine
  {
      public T Resolve&lt;T&gt;() where T : class
      {
          return DependencyResolver.Current.GetService&lt;T&gt;();
      }
  }
  </code></pre>
  
  <p><strong>What I think: one thread disposes the WebDataContext and all other threads can no longer access it. Can someone tell me if I forget something and if my code is thread safe ?</strong></p>