Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Ninject.Web.MVC4只处理我的DbContext一次_C#_Entity Framework_Asp.net Mvc 4_Ninject_Ninject.web.mvc - Fatal编程技术网

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

C# Ninject.Web.MVC4只处理我的DbContext一次,c#,entity-framework,asp.net-mvc-4,ninject,ninject.web.mvc,C#,Entity Framework,Asp.net Mvc 4,Ninject,Ninject.web.mvc,我知道有半打相同的问题。我已经听从了他们的建议,但我仍然被困住了 我使用NuGet安装了Ninject.Web.MVC4,并将绑定添加到NinjectWebCommon.RegisterServices 我已手动将以下内容添加到system.web/httpModules 我的装订: Bind<IDataContext>().To<DataContext>().InRequestScope(); 关于我应该从这里走到哪里,有什么建议吗?可能与此相关:您是否确保使用了最新

我知道有半打相同的问题。我已经听从了他们的建议,但我仍然被困住了

  • 我使用NuGet安装了
    Ninject.Web.MVC4
    ,并将绑定添加到
    NinjectWebCommon.RegisterServices

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

  • 我的装订:

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

    关于我应该从这里走到哪里,有什么建议吗?

    可能与此相关:您是否确保使用了最新的ninject.web.common?(v3.2.2,而不是3.2.0!)为什么要添加http模块?你不应该。。。使用Ninject时,除了绑定之外,不需要任何配置。MVC4@BatteryBackupUnit我重新安装了Ninject.MVC4及其所有依赖项,而只是将我的绑定添加到
    NinjectWebCommon.RegisterServices
    不起作用,将它们包装在
    globalkernelregistration模块中
    起作用了@ErikFunkenbusch如果只是像广告宣传的那样装订,我就不会在这里问了。添加http模块是我遵循的一个类似Q/a的建议。@epalm-在使用Ninject.Web.Common时不应使用http模块,因为它们执行相同的操作。你最终注册了两次!HttpModule是执行此操作的“老”方法。Common是新的“无配置”方式。看见
    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