Ninject.Web.MVC4只处理我的DbContext一次

时间:2014-09-18 22:15:24

标签: c# entity-framework asp.net-mvc-4 ninject ninject.web.mvc

我知道有六个相同的问题。我已经按照他们答案的建议,我仍然坚持。

  1. 我已使用NuGet安装Ninject.Web.MVC4并将我的绑定添加到NinjectWebCommon.RegisterServices

  2. 我已将以下内容手动添加到system.web / httpModules

  3. <httpModules>
      <add name="OnePerRequestModule" type="Ninject.OnePerRequestModule"/>
    </httpModules>
    
    1. 我已将我的绑定包裹在Ninject GlobalKernelRegistrationModule<OnePerRequestHttpModule>
    2. 我的DataContext:

      public class DataContext : DbContext, IDataContext
      {
          private Guid guid;
      
          public DataContext()
          {
              guid = Guid.NewGuid();
              Trace.TraceInformation("DataContext Constructing " + guid.ToString());
          }
      
          protected override void Dispose(bool disposing)
          {
              Trace.TraceInformation("DataContext Disposing    " + guid.ToString());
              base.Dispose(disposing);
          }
      }
      

      我的约束力:

      Bind<IDataContext>().To<DataContext>().InRequestScope();
      

      点击我网站上的几个链接后的输出结果:

      DataContext Constructing aa349c66-1a64-4037-a7cb-8b51974b86fe
      DataContext Disposing    aa349c66-1a64-4037-a7cb-8b51974b86fe
      DataContext Constructing b37c4a4b-6f6a-4d43-94c6-ae701af91e43
      DataContext Constructing ef388648-2b9e-40dd-8542-48c008df61d4
      DataContext Constructing 18e245fd-e09c-49da-b901-4f59d770d130
      DataContext Constructing 50d86e33-5e17-4a6c-81df-f6a0d49591ab
      DataContext Constructing 87ad5075-ad0d-4d30-a200-b211764a25ef
      

      有关我应该从哪里开始的任何建议吗?

0 个答案:

没有答案