internal static void Bootstrap() { _container = new Container(); _containerAdapter = new SimpleInjectorServiceLocatorAdapter(_container); _container.Register <ILoggingService, LoggingService>(Lifestyle.Singleton); _container.Register <IDialogService, DialogService>(Lifestyle.Singleton); _container.Register <IImageReaderService, ImageReaderService>(Lifestyle.Singleton); _container.Register <IUnitOfWorkFactory, NHibernateUnitOfWorkFactory>(Lifestyle.Singleton); BootstrapRepositories(); BootstrapViewModels(); _container.Register <IDirtySerializableCacheService, DirtySerializableCacheService>(Lifestyle.Singleton); _container.Register <ICoinModelFactory, CoinModelFactory>(Lifestyle.Singleton); _container.Register <IImageCacheService, ImageCacheService>(Lifestyle.Singleton); if (ViewModelBase.IsInDesignModeStatic) { } ServiceLocator.SetLocatorProvider(() => _containerAdapter); }
public static void RegisterServices(Container container) { container.Register <IUnitOfWorkRepository, UnitOfWorkRepository>(); container.RegisterPerWebRequest <IAulaRepository, AulaRepository>(); container.RegisterPerWebRequest <IAulaAppService, AulaAppService>(); container.RegisterPerWebRequest <IAulaService, AulaService>(); container.RegisterPerWebRequest <IAssinaturaNivelRepository, AssinaturaNivelRepository>(); container.RegisterPerWebRequest <IAssinaturaNivelAppService, AssinaturaNivelAppService>(); container.RegisterPerWebRequest <IAssinaturaNivelService, AssinaturaNivelService>(); container.RegisterPerWebRequest <IUsuarioAcessoRepository, UsuarioAcessoRepository>(); container.RegisterPerWebRequest <IUsuarioAcessoAppService, UsuarioAcessoAppService>(); container.RegisterPerWebRequest <IUsuarioAcessoService, UsuarioAcessoService>(); //***** Registro de dependências para o Identity ****************************************************************************************** container.RegisterPerWebRequest <ApplicationDbContext>(); container.RegisterPerWebRequest <IUserStore <ApplicationUser> >(() => new UserStore <ApplicationUser>(new ApplicationDbContext())); container.RegisterPerWebRequest <IRoleStore <IdentityRole, string> >(() => new RoleStore <IdentityRole>()); container.RegisterPerWebRequest <ApplicationUserManager>(); container.RegisterPerWebRequest <ApplicationSignInManager>(); //****************************************************************************************************************************************** var adapter = new SimpleInjectorServiceLocatorAdapter(container); ServiceLocator.SetLocatorProvider(() => adapter); }
public static void RegisterInject() { // 1. Create a new Simple Injector container var container = new Container(); container.Options.DefaultScopedLifestyle = new WebRequestLifestyle(); DddBasico.Infra.IdC.Injetar.Carregar(container); // 2. Include my resolvers container.Register <IResolverConexao, ResolverConexao>(Lifestyle.Scoped); // 3. This is an extension method from the integration package. container.RegisterMvcControllers(Assembly.GetExecutingAssembly()); // 4. This is an extension method from the integration package as well. container.RegisterMvcIntegratedFilterProvider(); // 5. Adapter for Service Locator var adapter = new SimpleInjectorServiceLocatorAdapter(container); ServiceLocator.SetLocatorProvider(() => adapter); // 6. Optionally verify the container's configuration. container.Verify(); // 7. Store the container for use by the application DependencyResolver.SetResolver( new SimpleInjectorDependencyResolver(container)); }
public static void Register(HttpConfiguration config) { // Create the container as usual. var container = new Container(); container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle(); // Register your types, for instance using the scoped lifestyle: DddBasico.Infra.IdC.Injetar.Carregar(container); // Registrando minhas classes api // This is an extension method from the integration package. container.RegisterWebApiControllers(config); // Registrando minhas classes api container.Register <IResolverConexao, ResolverConexao>(Lifestyle.Scoped); container.Verify(); // Adapter for Service Locator var adapter = new SimpleInjectorServiceLocatorAdapter(container); ServiceLocator.SetLocatorProvider(() => adapter); config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container); }
private static void InitializeContainer(Container container) { container.Register <IServiceContext, ServiceContext>(); container.Register <IAccountService, AccountService>(); container.Register <ITeamService, TeamService>(); container.Register <IVoteService, VoteService>(); var adapter = new SimpleInjectorServiceLocatorAdapter(container); ServiceLocator.SetLocatorProvider(() => adapter); }
private static Container InitContainer() { var container = new Container(); container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle(); var adapter = new SimpleInjectorServiceLocatorAdapter(container); ServiceLocator.SetLocatorProvider(() => adapter); RegisterServices(container); return(container); }
public ViewModelLocator() { _container = new Container(); var locatorAdapter = new SimpleInjectorServiceLocatorAdapter(_container); ServiceLocator.SetLocatorProvider(() => locatorAdapter); ////if (ViewModelBase.IsInDesignModeStatic) ////{ //// // Create design time view services and models //// SimpleIoc.Default.Register<IDataService, DesignDataService>(); ////} ////else ////{ //// // Create run time view services and models //// SimpleIoc.Default.Register<IDataService, DataService>(); ////} _container.Register <Container>(() => _container, Lifestyle.Singleton); _container.Register <ISnackbarMessageQueue>(() => new SnackbarMessageQueue(), Lifestyle.Singleton); _container.Register <ViewModelLocator>(() => this, Lifestyle.Singleton); // Windows _container.Register <MainViewModel>(Lifestyle.Singleton); // Controls _container.Register <HomeViewModel>(); _container.Register <ConnectionViewModel>(Lifestyle.Singleton); _container.Register <ExecutionViewModel>(Lifestyle.Singleton); _container.Register <ConfigurationViewModel>(Lifestyle.Singleton); _container.Register <LogViewModel>(Lifestyle.Singleton); SettingsService settingsService = new SettingsService(); _container.Register <DataSampleService>(Lifestyle.Singleton); _container.Register <SettingsService>(() => settingsService, Lifestyle.Singleton); _container.Register <ModuleEngine>(() => ModuleEngine.CreateInstance(_container, settingsService).Result, Lifestyle.Singleton); try { _container.Verify(); } catch (Exception e) { Logger.Log(e); throw; } }
public SimpleInjectorTests() { var container = new Container(); container.Register<A, AImpl>(); container.RegisterManyForOpenGeneric(typeof(B<>), typeof(A).Assembly); container.RegisterManyForOpenGeneric(typeof(C<,>), ((t, impls) => { foreach (var impl in impls.Where(impl => !impl.IsAbstract)) { container.Register(impl); } }), typeof(A).Assembly); container.RegisterManyForOpenGeneric(typeof(D<>), typeof(A).Assembly); container.RegisterManyForOpenGeneric(typeof(E<,>), typeof(A).Assembly); container.RegisterManyForOpenGeneric(typeof(F<,>), typeof(A).Assembly); AllowToResolveVariantCollections(container); ServiceLocator = new SimpleInjectorServiceLocatorAdapter(container); }
static void Main() { var container = new Container(); container.Register <IUserRepository, InMemoryUserRepository>(); container.Register <ILogger, ConsoleLogger>(); container.RegisterManyForOpenGeneric(typeof(IHandle <>), AppDomain.CurrentDomain.GetAssemblies()); container.RegisterDecorator(typeof(IHandle <>), typeof(LoggingDecorator <>)); var simpleInjectorServiceLocatorAdapter = new SimpleInjectorServiceLocatorAdapter(container); AppDispatcher.Initialize(app => { // Decorating the pipline AND using IoC: you will see // the action pipleine below wraps any IoC decorators app.GlobalPipeline(pipeline => pipeline.Decorate(handler => { Console.WriteLine("before a"); handler(); Console.WriteLine("after a"); }).Decorate(handler => { Console.WriteLine("before b"); handler(); Console.WriteLine("after b"); }), true); app.UseCommonServiceLocator(simpleInjectorServiceLocatorAdapter); }); var request = new CreateUser { Name = "Jane Smith" }; AppDispatcher.Handle(request); Console.ReadLine(); }
private static IMediator BuildMediator() { var container = new Container(); var assemblies = GetAssemblies().ToArray(); container.Register <IMediator, Mediator>(); container.RegisterManyForOpenGeneric(typeof(IRequestHandler <,>), assemblies); container.RegisterManyForOpenGeneric(typeof(IAsyncRequestHandler <,>), assemblies); container.RegisterManyForOpenGeneric(typeof(INotificationHandler <>), container.RegisterAll, assemblies); container.RegisterManyForOpenGeneric(typeof(IAsyncNotificationHandler <>), container.RegisterAll, assemblies); container.Register(() => Console.Out); var serviceLocator = new SimpleInjectorServiceLocatorAdapter(container); var serviceLocatorProvider = new ServiceLocatorProvider(() => serviceLocator); container.Register(() => serviceLocatorProvider); container.Verify(); var mediator = container.GetInstance <IMediator>(); return(mediator); }
static void Main() { var container = new Container(); container.Register<IUserRepository, InMemoryUserRepository>(); container.Register<ILogger, ConsoleLogger>(); container.RegisterManyForOpenGeneric(typeof(IHandle<>), AppDomain.CurrentDomain.GetAssemblies()); container.RegisterDecorator(typeof(IHandle<>), typeof(LoggingDecorator<>)); var simpleInjectorServiceLocatorAdapter = new SimpleInjectorServiceLocatorAdapter(container); AppDispatcher.Initialize(app => { // Decorating the pipline AND using IoC: you will see // the action pipleine below wraps any IoC decorators app.GlobalPipeline(pipeline => pipeline.Decorate(handler => { Console.WriteLine("before a"); handler(); Console.WriteLine("after a"); }).Decorate(handler => { Console.WriteLine("before b"); handler(); Console.WriteLine("after b"); }), true); app.UseCommonServiceLocator(simpleInjectorServiceLocatorAdapter); }); var request = new CreateUser { Name = "Jane Smith" }; AppDispatcher.Handle(request); Console.ReadLine(); }
public static void StartServiceLocator(Container container) { var adapter = new SimpleInjectorServiceLocatorAdapter(container); ServiceLocator.SetLocatorProvider(() => adapter); }