creates ServicesCompositionRoot

This commit is contained in:
Shannon
2015-12-21 14:27:36 +01:00
parent 69e1df87df
commit 6593f4eaaa
8 changed files with 75 additions and 58 deletions
@@ -19,15 +19,16 @@ namespace Umbraco.Core.DependencyInjection
{
public void Compose(IServiceRegistry container)
{
container.Register<IDatabaseFactory>(factory => new DefaultDatabaseFactory(GlobalSettings.UmbracoConnectionName, factory.GetInstance<ILogger>()));
container.Register<IDatabaseFactory>(factory => new DefaultDatabaseFactory(GlobalSettings.UmbracoConnectionName, factory.GetInstance<ILogger>()), new PerContainerLifetime());
container.Register<DatabaseContext>(factory => GetDbContext(factory), new PerContainerLifetime());
container.Register<SqlSyntaxProviders>(factory => SqlSyntaxProviders.CreateDefault(factory.GetInstance<ILogger>()));
container.Register<IUnitOfWorkProvider, FileUnitOfWorkProvider>();
container.Register<IDatabaseUnitOfWorkProvider, PetaPocoUnitOfWorkProvider>();
container.Register<SqlSyntaxProviders>(factory => SqlSyntaxProviders.CreateDefault(factory.GetInstance<ILogger>()), new PerContainerLifetime());
container.Register<IUnitOfWorkProvider, FileUnitOfWorkProvider>(new PerContainerLifetime());
container.Register<IDatabaseUnitOfWorkProvider>(factory => new PetaPocoUnitOfWorkProvider(factory.GetInstance<ILogger>()), new PerContainerLifetime());
container.Register<IMappingResolver>(factory => new MappingResolver(
factory.GetInstance<IServiceContainer>(),
factory.GetInstance<ILogger>(),
() => factory.GetInstance<PluginManager>().ResolveAssignedMapperTypes()));
() => factory.GetInstance<PluginManager>().ResolveAssignedMapperTypes()),
new PerContainerLifetime());
container.Register<RepositoryFactory>();
container.Register<ISqlSyntaxProvider>(factory => factory.GetInstance<DatabaseContext>().SqlSyntax);
container.Register<CacheHelper>(factory => CacheHelper.CreateDisabledCacheHelper(), "DisabledCache", new PerContainerLifetime());