title: How to handle DBContext when using Ninject
body: <p>I am trying to use Ninject and OpenAccess for the first time. Please help me with the following. Here is what my project looks like...</p>
  
  <pre><code>public class ContentController : Controller
  {
      private ContentService contentSvc;
  
      public ContentController(ContentService contentSvc)
      {
          this.contentSvc = contentSvc;
      }
  }
  </code></pre>
  
  <p>The following class is under a folder in my web app.</p>
  
  <pre><code>public class ContentService
  {
      private IContentRepository contentRepository;
  
      public ContentService(IContentRepository contentRepository)
      {
          this.contentRepository = contentRepository;
      }
  
      public void InsertContent(Content content)
      {
           contentRepository.InsertContent(content);
      }
  }
  </code></pre>
  
  <p>The following repository belongs to a separate assembly.    </p>
  
  <pre><code>public class ContentRepository : IContentRepository
  {
      DBContext db;
      public ContentRepository(DBContext _db)
      {
          db = _db;
      }
  
      public void InsertContent(Content content)
      {
               db.Add(content);
      }
  }   
  </code></pre>
  
  <p>Here is what Ninject binding look like..</p>
  
  <pre><code>kernel.Bind&lt;ContentService&gt;().To&lt;ContentService&gt;().InRequestScope();
  kernel.Bind&lt;IContentRepository&gt;().To&lt;ContentRepository&gt;().InRequestScope().WithConstructorArgument("_db", new DBContext());
  </code></pre>
  
  <p>Everything works fine if I fetch one page at a time. I am using a simple tool 'XENU' to fetch multiple pages simultaneously. This is when I get errors with DBContext by fetching multiple pages at a time.</p>
  
  <p>I am not sure if Ninject is dosposing the DBContext in each REQUEST??  I get different errors, e.g. 'Object reference not set to an instance of an object.', OR 'ExecuteReader requires an open and available Connection. The connection's current state is open.'</p>
  
  <h2>P.S.</h2>
  
  <p>I have ContentService under a folder in my MVC web app. ContentRepository is a separate assembly. I will be adding business logic in ContentService and use 'ContentRepository' only for CRUD operations. Also, please let me know if this architecture is okay or is there a better way to create services and repositories.</p>