NancyFX和Ninject - 激活ISession时出错

时间:2015-02-23 15:36:47

标签: c# inversion-of-control ninject nancy

我的nancy Bootstrapper是这样的:

public class Bootstrapper : NinjectNancyBootstrapper
{
    protected override void ApplicationStartup(IKernel container, IPipelines pipelines)
    {
        Csrf.Enable(pipelines);
    }
     protected override void ConfigureRequestContainer(IKernel container, NancyContext context)
    {
        // Perform registrations that should have a request lifetime
        container.Bind<IRepository<User>>().To<Repository<User>>().InSingletonScope();
    }
}   

我有一个南希模块:

public class UsersModule : NancyModule
{
   private IRepository<User> users;

   public UsersModule(IRepository<User> usersRepo)
   {
      this.users = usersRepo;
   }
}

当我启动应用程序时,出现错误:

激活ISession

时出错

没有匹配的绑定可用,并且该类型不可自我绑定。 激活路径:

3)将依赖关系ISession注入到Repository {User}

类型的构造函数的参数会话中

2)将依赖关系IRepository {User}注入到UsersModule类型的构造函数的参数usersRepo中

1)请求INancyModule

建议:

1)确保您已为ISession定义了绑定。

2)如果在模块中定义了绑定,请确保已将模块加载到内核中。

3)确保您没有意外创建多个内核。

4)如果使用构造函数参数,请确保参数名称与构造函数参数名称匹配。

5)如果使用自动模块加载,请确保搜索路径和过滤器正确无误。

有任何线索吗?我迷路了...

1 个答案:

答案 0 :(得分:0)

问题是我没有注入NHibernate的ISession ...... X - (