public static void Register(Container container) { container.RegisterOpenGeneric(typeof(IRepository<>), typeof(Repository<>)); // Single services container.Register<IContext, DefaultContext>(); container.Register<ICommandPersister, DefaultCommandPersister>(); container.Register<ICommandSerializer, NewtonsoftCommandSerializer>(); //container.Register<ICommandSerializer, JilCommandSerializer>(); AddInterfaceForEachDerivedType(container, typeof(TableBase), typeof(ITableBeforeSave<>)); AddInterfaceForEachDerivedType(container, typeof(TableBase), typeof(ITableAfterSave<>)); AddInterfaceForEachDerivedType(container, typeof(CommandBase), typeof(ICommandBeforeProcess<>)); AddInterfaceForEachDerivedType(container, typeof(CommandBase), typeof(ICommandBeforeSave<>)); AddInterfaceForEachDerivedType(container, typeof(CommandBase), typeof(ICommandAfterSave<>)); // default persister container.RegisterOpenGeneric(typeof(ICommandSave<>), typeof(DefaultSaver<>)); // override persisters container.Options.AllowOverridingRegistrations = true; //container.RegisterOpenGeneric(typeof(InsertCommandFor<>), typeof(SimpleCommandsDefaultSaver<>)); //container.RegisterManyForOpenGeneric(typeof(ICommandSave<>), AppDomain.CurrentDomain.GetAssemblies()); //container.RegisterManyForOpenGeneric(typeof(ICommandSave<>).MakeGenericType(typeof(InsertCommandFor<>)), AppDomain.CurrentDomain.GetAssemblies()); /* ReplaceInterfaceForEachDerivedType(container, typeof(SimpleCommand<>), typeof(ICommandSave<>).MakeGenericType(typeof(InsertCommandFor<>)) );*/ //RegisterAllPersisters(); }
public void RegisterServices(Container container) { container.RegisterPerWebRequest(() => new BloggableDbContext(AppSettingConstants.DefaultDbConnectionName)); container.RegisterPerWebRequest<DbContext>(container.GetInstance<BloggableDbContext>); container.RegisterPerWebRequest<IdentityDbContext<User>>(container.GetInstance<BloggableDbContext>); container.RegisterOpenGeneric(typeof(IDeletableEntityRepository<>), typeof(EfDeletableEntityRepository<>)); container.RegisterOpenGeneric(typeof(IRepository<>), typeof(EfRepository<>)); }
public static void Config(Container container) { container.RegisterPerWebRequest<IDatabaseFactory,DatabaseFactory>(); container.RegisterOpenGeneric(typeof(IRepository<>), typeof(Repository<>)); container.RegisterPerWebRequest<IUnitOfWork, UnitOfWork>(); container.Register<IProductRepository, ProductRepository>(); container.Register(()=>new SrcSamples()); }
public static Container Register() { // 1. Create a new Simple Injector container var container = new Container(); container.RegisterPerWebRequest<DbContext, EntityDatabaseContext>(); container.Register<IUnitOfWork, EntityFrameworkUnitOfWork>(); container.RegisterOpenGeneric(typeof(IGenericRepository<>), typeof(EntityFrameworkGenericRepository<>)); container.Register<IUserService, UserService>(); return container; }
public static void Register(HttpConfiguration config) { var container = new Container(); var webapiLifestyle = new WebApiRequestLifestyle(); container.RegisterWebApiRequest<ITransactionEngine, TransactionEngine>(); BuildManager.GetReferencedAssemblies(); AppDomain currentDomain = AppDomain.CurrentDomain; container.RegisterManyForOpenGeneric(typeof(IQueryHandler<,>), webapiLifestyle, currentDomain.GetAssemblies()); container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), webapiLifestyle, currentDomain.GetAssemblies()); // Veroorzaakt een StackOverFlowException bij opvragen: container.RegisterOpenGeneric(typeof(ICommandHandler<>), typeof(UpdateFeaturesCommandHandler<,>), webapiLifestyle, c => !c.Handled); container.RegisterSingle<ITransactionalCommandHandlerFactory>(new TransactionalCommandHandlerFactory(container)); container.RegisterWebApiControllers(config); container.Verify(); GlobalConfiguration.Configuration.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container); }
public void RegisterServices(Container container) { container.RegisterOpenGeneric(typeof(IDeletableEntityAdministrationService<>), typeof(DeletableEntityAdministrationService<>)); container.RegisterOpenGeneric(typeof(IAdministrationService<>), typeof(AdministrationService<>)); }
public RegisterOpenGenericNonGeneric() { var container = new Container(); container.RegisterOpenGeneric(typeof(IRepository<>), typeof(Repository<,>)); }
public RegisterOpenGenericLifestyleNonGeneric() { var container = new Container(); container.RegisterOpenGeneric(typeof(IRepository<>), typeof(Repository<,>), Lifestyle.Transient); }