public void SimpleInjector() { _simpleInjectorContainer.GetInstance <ICompositionRoot>(); _simpleInjectorContainer.GetInstance <ICompositionRoot>(); _simpleInjectorContainer.GetInstance <ICompositionRoot>(); _simpleInjectorContainer.GetInstance <ICompositionRoot>(); _simpleInjectorContainer.GetInstance <ICompositionRoot>(); _simpleInjectorContainer.GetInstance <ICompositionRoot>(); _simpleInjectorContainer.GetInstance <ICompositionRoot>(); _simpleInjectorContainer.GetInstance <ICompositionRoot>(); _simpleInjectorContainer.GetInstance <ICompositionRoot>(); _simpleInjectorContainer.GetInstance <ICompositionRoot>(); }
public void SimpleInjector() { for (var i = 0; i < Series; i++) { _simpleInjectorContainer.GetInstance <IServiceRoot>().DoSomething(); _simpleInjectorContainer.GetInstance <IServiceRoot>().DoSomething(); _simpleInjectorContainer.GetInstance <IServiceRoot>().DoSomething(); _simpleInjectorContainer.GetInstance <IServiceRoot>().DoSomething(); _simpleInjectorContainer.GetInstance <IServiceRoot>().DoSomething(); _simpleInjectorContainer.GetInstance <IServiceRoot>().DoSomething(); _simpleInjectorContainer.GetInstance <IServiceRoot>().DoSomething(); _simpleInjectorContainer.GetInstance <IServiceRoot>().DoSomething(); _simpleInjectorContainer.GetInstance <IServiceRoot>().DoSomething(); _simpleInjectorContainer.GetInstance <IServiceRoot>().DoSomething(); } }
public void Subscribe(EasyBus.Contracts.IMessageHandler handler) { bus = container.GetInstance <IRabbitBus>().Bus; // Get queue name. var queueName = handler.QueueName; var queue = bus.Advanced.QueueDeclare(queueName); bus.Advanced.Consume <string>(queue, (msg, info) => { try { Process(handler, msg); } catch (Exception exc) { HandleConsumerError(queue, exc); } }); }
public object Resolve(Type dependencyType) { Guard.AgainstNull(dependencyType, "dependencyType"); try { return(_container.GetInstance(dependencyType)); } catch (Exception ex) { throw new TypeResolutionException(ex.Message, ex); } }
public T Get <T>() { return((T)_container.GetInstance(typeof(T))); }
public void Emit <T>(T message) where T : IMessage { var publisher = container.GetInstance <IPublisher>(); publisher.Publish(message); }
static void Test() { var dry = new DryIoc.Container(); dry.Register <IMetricSubmitter, EnrichMetricsDecorator>( setup: new DecoratorSetup(z => { return(z.Parent.ImplementationType == typeof(SingleWorker)); }, order: 0, useDecorateeReuse: false)); dry.Register <IMetricSubmitter, DefaultMetricSubmitter>(Reuse.Singleton); dry.Register <SingleWorker>(Reuse.Singleton); dry.Register <ScopedWorker>(Reuse.Singleton); var worker = dry.Resolve <SingleWorker>(); Console.WriteLine(worker); var worker2 = dry.Resolve <ScopedWorker>(); Console.WriteLine(worker2); var container = new global::SimpleInjector.Container(); container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle(); container.ForConsumer <BConsumer>() .RegisterSingleton <AInterface, BImplementation>(); container.ForConsumer <AConsumer>() .Register <AInterface, AImplementation>(Lifestyle.Singleton); container.RegisterSingleton <AConsumer>(); container.RegisterDecorator( typeof(AInterface), typeof(AInterfaceDecorator), Lifestyle.Singleton, z => { return(true); }); container.RegisterDecorator( typeof(AInterface), typeof(BInterfaceDecorator), Lifestyle.Singleton, z => { return(true); }); container.Register <SingleWorker>(Lifestyle.Singleton); container.Register <ScopedWorker>(Lifestyle.Scoped); container.RegisterDecorator <IMetricSubmitter, EnrichMetricsDecorator>(); container.RegisterConditional <IMetricSubmitter, ProxyMetricSubmitter>( Lifestyle.Singleton, z => z.Consumer.ImplementationType == typeof(SingleWorker)); container.Verify(); container.GetInstance <SingleWorker>(); using (AsyncScopedLifestyle.BeginScope(container)) { container.GetInstance <ScopedWorker>(); } container.GetInstance <AConsumer>(); container.GetInstance <AConsumer>(); container.GetInstance <BConsumer>(); container.GetInstance <BConsumer>(); }