从Ninject迁移到SimpleInjector会将Nhibernate ISession作为构造函数参数

时间:2016-06-22 09:46:55

标签: c# nhibernate dependency-injection simple-injector

iam从ninject迁移到简单的注入器但在isession上获取错误作为存储库构造函数参数

我的旧ninject模块是这样的:

public class DataAccessModule : NinjectModule{
    public override void Load() {
        Bind<IUnitOfWork>().To<UnitOfWork>();
        Bind<IAttivitaRepository>().To<AttivitaRepository>();
}}

我替换为:

container.Register<IUnitOfWork, UnitOfWork>();
container.Register<IAttivitaRepository, AttivitaRepository>();

这是我的回购:

public class AttivitaRepository : BaseRepository<Attivita>, IAttivitaRepository {
        public AttivitaRepository(ISession session)
            : base(session)
        {       }
    }

ninject工作正常,而简单的进样器会出现此错误:

  

AttivitaRepository类型的构造函数包含参数   姓名&#39;会话&#39;并键入未注册的ISession。请确保   ISession已注册,或更改构造函数   AttivitaRepository。

at

// 3. Verify the container's configuration.
container.Verify();

修改

我从container.Verify();移除了global.asax,网站似乎正常工作

所以它只是一个验证问题?

0 个答案:

没有答案