Asp.net mvc Nhibernate(Fluent)、Ninject.Mvc3和Web激活器

Asp.net mvc Nhibernate(Fluent)、Ninject.Mvc3和Web激活器,asp.net-mvc,nhibernate,fluent-nhibernate,ninject,webactivator,Asp.net Mvc,Nhibernate,Fluent Nhibernate,Ninject,Webactivator,我正在开发ASP.NET Mvc 3应用程序,并已使用Nuget安装了Ninject.Mvc3。我现在有了App_Start文件夹,然后是ninject类。我在Global.asax文件中看到了很多关于如何配置NHibernate的示例。那么,如果我使用Web Activator类,那么在将会话交给Ninject之前如何配置会话呢?我只是像在global.asax中那样正常地做吗?我不知道你指的是哪个例子。但是对于他们中的大多数人来说,你可以用同样的方法来做。鲍勃·克雷文斯(Bob Craven

我正在开发ASP.NET Mvc 3应用程序,并已使用Nuget安装了Ninject.Mvc3。我现在有了App_Start文件夹,然后是ninject类。我在Global.asax文件中看到了很多关于如何配置NHibernate的示例。那么,如果我使用Web Activator类,那么在将会话交给Ninject之前如何配置会话呢?我只是像在global.asax中那样正常地做吗?

我不知道你指的是哪个例子。但是对于他们中的大多数人来说,你可以用同样的方法来做。

鲍勃·克雷文斯(Bob Cravens)有一系列关于如何做到这一点的帖子:

将存储库模式与MVC和NHibernate结合使用

在ASP.NET MVC中使用带有NHibernate的IoC容器(如Ninject)

任何负责任的web开发人员都知道,管理/处置对象和资源对于良好的web应用程序开发至关重要。请确保并阅读此位:-)


现在,在App_Start文件夹中有一个名为NinjectMVC.cs的文件,有一种方法:

    private static void RegisterServices(IKernel kernel)
    {
    }     

您必须在那里注册所有服务,就像您以前在global.ascx中注册一样。

因此,我在global.asax中添加了一个开始和结束请求处理程序,用于nhibernate会话初始化,但很明显,当Ninject从提供程序提供会话时,它从未被调用过。正如我所说的,我不知道你想怎么做。所以不可能给你一个好的答案。