protected override void Load(ContainerBuilder builder) { // Register ISessionFactory _lifetimeProvider.SingletonScope( builder.RegisterInstance(BuildSessionFactory()) .As <ISessionFactory>() .OnActivating(RunMigrations)); // Register ISession _lifetimeProvider.RequestScope(builder.Register(c => c.Resolve <ISessionFactory>().OpenSession())); // Register ISchemaMigrator _lifetimeProvider.SingletonScope(builder.RegisterType <SqlSchemaMigrator>().As <ISchemaMigrator>()); // Register repositories _lifetimeProvider.InstanceScope(builder.RegisterType <BlogRepository>().AsImplementedInterfaces()); _lifetimeProvider.InstanceScope(builder.RegisterType <PluginRepository>().AsImplementedInterfaces()); _lifetimeProvider.InstanceScope(builder.RegisterType <UserRepository>().AsImplementedInterfaces()); _lifetimeProvider.InstanceScope(builder.RegisterType <RoleRepository>().AsImplementedInterfaces()); _lifetimeProvider.InstanceScope(builder.RegisterType <ReleaseRepository>().AsImplementedInterfaces()); }
protected override void Load(ContainerBuilder builder) { _lifetimeProvider.InstanceScope(builder.Register(CreateCloudBlobClient)); _lifetimeProvider.SingletonScope(builder.RegisterType <AzureBlobStorage>().AsImplementedInterfaces()); }