protected override void ConfigureContainer() { base.ConfigureContainer(); Container.Configure(cfg => { cfg.For <IEmailService>().Use <SmtpEmailService>(); cfg.For <ISessionFactory>().Singleton().Use(() => NHibernateConfiguration.Factory()); cfg.For <IMessageModule>().Singleton().Use <NHibernateMessageModule>(); cfg.For <INHibernateSessionProvider>().Use <NHibernateMessageModule>(); cfg.For <ISession>().Use(ctx => ctx.GetInstance <INHibernateSessionProvider>().CurrentSession); //cfg.For(typeof(ISagaPersister<>)).Singleton().Use(typeof(InMemorySagaPersister<>)); cfg.For(typeof(ISagaPersister <>)).Use(typeof(NHibernateSagaPersister <>)); }); }