/// <summary> /// Creates a <see cref="T:System.ServiceModel.ServiceHost"/> for a specified type of service with a specific base address. /// </summary> /// <param name="serviceType">Specifies the type of service to host.</param> /// <param name="baseAddresses">The <see cref="T:System.Array"/> of type <see cref="T:System.Uri"/> that contains the base addresses for the service hosted.</param> /// <returns> /// A <see cref="T:System.ServiceModel.ServiceHost"/> for the type of service specified with a specific base address. /// </returns> protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses) { if (serviceType == null) { throw new ArgumentNullException("serviceType"); } ServiceBehaviorAttribute attribute; var lifetime = GetLifetime(serviceType, out attribute); if (_container == null) { var registrar = new ContainerRegistrar(); registrar.RegisterConcrete(serviceType, lifetime); registrar.RegisterModules(serviceType.Assembly); _container = registrar.Build(); } var host = new ServiceLocatorServiceHost(_container, serviceType, baseAddresses); if (ConfigurationCallback != null) { ConfigurationCallback(host); } return(host); }
/// <summary> /// Initializes a new instance of the <see cref="AsyncDomainEvents" /> class. /// </summary> /// <param name="container">Griffin.Container.</param> /// <param name="scopeListener">Used to handle errors and scoping setup/teardown.</param> public AsyncDomainEvents(IParentContainer container, IScopeListener scopeListener) { _container = container; _scopeListener = scopeListener; _method = GetType().GetMethod("TriggerPublish", BindingFlags.NonPublic | BindingFlags.Instance); _transactionMonitor = new TransactionMonitor(TriggerEvents); }
/// <summary> /// Initializes a new instance of the <see cref="ContainerAdapter" /> class. /// </summary> /// <param name="container">The Griffin.Container.</param> /// <exception cref="System.ArgumentNullException">container</exception> public ContainerAdapter(IParentContainer container) { if (container == null) { throw new ArgumentNullException("container"); } _container = container; }
/// <summary> /// Dispatch commands using our favorite container /// </summary> /// <param name="container">Container instance.</param> public static void DispatchCommands(this IParentContainer container) { if (container == null) { throw new ArgumentNullException("container"); } CommandDispatcher.Assign(new Commands.IocDispatcher(new ContainerAdapter(container))); }
/// <summary> /// Initializes a new instance of the <see cref="GriffinDependencyResolver"/> class. /// </summary> /// <param name="container">The container.</param> public GriffinDependencyResolver(IParentContainer container) { if (container == null) { throw new ArgumentNullException("container"); } _container = container; }
public override void PrepareBasic() { var registrar = new ContainerRegistrar(); RegisterBasic(registrar); this.container = registrar.Build(); }
/// <summary> /// Dispatch commands using our favorite container /// </summary> /// <param name="container">Container instance.</param> public static void DispatchEvents(this IParentContainer container) { if (container == null) { throw new ArgumentNullException("container"); } DomainEvent.Assign(new DomainEvents.IocDispatcher(new ContainerAdapter(container))); }
/// <summary> /// Initializes a new instance of the <see cref="ServiceLocatorInstanceProvider"/> class. /// </summary> /// <param name="container">The container.</param> /// <param name="contractType"> </param> public ServiceLocatorInstanceProvider(IParentContainer container, Type contractType) { if (container == null) throw new ArgumentNullException("container"); if (contractType == null) throw new ArgumentNullException("contractType"); _container = container; _contractType = contractType; }
/// <summary> /// Use Griffin.Container to dispatch events /// </summary> /// <param name="builder">this</param> /// <param name="griffinContainer">Your created container, look at the Griffin.Container HP for instructions on how to build it.</param> /// <returns>this</returns> public static EventPipelineBuilder UseGriffinContainer(this EventPipelineBuilder builder, IParentContainer griffinContainer) { if (builder == null) throw new ArgumentNullException("builder"); if (griffinContainer == null) throw new ArgumentNullException("griffinContainer"); builder.UseContainer(new ContainerAdapter(griffinContainer)); return builder; }
/// <summary> /// Gets the child container. /// </summary> /// <param name="container">The container.</param> /// <returns></returns> public IChildContainer GetChildContainer(IParentContainer container) { if (container == null) { throw new ArgumentNullException("container"); } return(_childContainer ?? (_childContainer = container.CreateChildContainer())); }
/// <summary> /// Initializes a new instance of the <see cref="ServiceLocatorInstanceProvider"/> class. /// </summary> /// <param name="container">The container.</param> /// <param name="contractType"> </param> public ServiceLocatorInstanceProvider(IParentContainer container, Type contractType) { if (container == null) { throw new ArgumentNullException("container"); } if (contractType == null) { throw new ArgumentNullException("contractType"); } _container = container; _contractType = contractType; }
/// <summary> /// Use Griffin.Container to dispatch events /// </summary> /// <param name="builder">this</param> /// <param name="griffinContainer">Your created container, look at the Griffin.Container HP for instructions on how to build it.</param> /// <returns>this</returns> public static EventPipelineBuilder UseGriffinContainer(this EventPipelineBuilder builder, IParentContainer griffinContainer) { if (builder == null) { throw new ArgumentNullException("builder"); } if (griffinContainer == null) { throw new ArgumentNullException("griffinContainer"); } builder.UseContainer(new ContainerAdapter(griffinContainer)); return(builder); }
public override void Prepare() { var registrar = new ContainerRegistrar(); registrar.RegisterType<ISingleton, Singleton>(Lifetime.Singleton); registrar.RegisterType<ITransient, Transient>(Lifetime.Transient); registrar.RegisterType<ICombined, Combined>(Lifetime.Transient); this.container = registrar.Build(); registrar = new ContainerRegistrar(); registrar.RegisterType<ICalculator, Calculator>(Lifetime.Transient); var containerWithLoggingInterception = registrar.Build(); containerWithLoggingInterception.AddDecorator(new GriffinLoggingDecorator()); this.containerWithLoggingInterception = containerWithLoggingInterception; }
public override void Prepare() { var registrar = new ContainerRegistrar(); RegisterDummies(registrar); RegisterStandard(registrar); RegisterComplex(registrar); this.container = registrar.Build(); registrar = new ContainerRegistrar(); registrar.RegisterType<ICalculator, Calculator>(Lifetime.Transient); var containerWithLoggingInterception = registrar.Build(); containerWithLoggingInterception.AddDecorator(new GriffinLoggingDecorator()); this.containerWithLoggingInterception = containerWithLoggingInterception; }
public override void Prepare() { var registrar = new ContainerRegistrar(); RegisterDummies(registrar); RegisterStandard(registrar); RegisterComplex(registrar); this.container = registrar.Build(); registrar = new ContainerRegistrar(); registrar.RegisterType <ICalculator, Calculator>(Lifetime.Transient); var containerWithLoggingInterception = registrar.Build(); containerWithLoggingInterception.AddDecorator(new GriffinLoggingDecorator()); this.containerWithLoggingInterception = containerWithLoggingInterception; }
public void Prepare() { var registrar = new ContainerRegistrar(); registrar.RegisterType <ISingleton, Singleton>(Lifetime.Singleton); registrar.RegisterType <ITransient, Transient>(Lifetime.Transient); registrar.RegisterType <ICombined, Combined>(Lifetime.Transient); this.container = registrar.Build(); registrar = new ContainerRegistrar(); registrar.RegisterType <ICalculator, Calculator>(Lifetime.Transient); var containerWithLoggingInterception = registrar.Build(); containerWithLoggingInterception.AddDecorator(new GriffinLoggingDecorator()); this.containerWithLoggingInterception = containerWithLoggingInterception; }
public override void Prepare() { var registrar = new ContainerRegistrar(); RegisterBasic(registrar); RegisterPropertyInjection(registrar); this.container = registrar.Build(); registrar = new ContainerRegistrar(); registrar.RegisterType<ICalculator1, Calculator1>(Lifetime.Transient); registrar.RegisterType<ICalculator2, Calculator2>(Lifetime.Transient); registrar.RegisterType<ICalculator3, Calculator3>(Lifetime.Transient); var containerWithLoggingInterception = registrar.Build(); containerWithLoggingInterception.AddDecorator(new GriffinLoggingDecorator()); this.containerWithLoggingInterception = containerWithLoggingInterception; }
public override void Prepare() { var registrar = new ContainerRegistrar(); RegisterBasic(registrar); RegisterPropertyInjection(registrar); this.container = registrar.Build(); registrar = new ContainerRegistrar(); registrar.RegisterType <ICalculator1, Calculator1>(Lifetime.Transient); registrar.RegisterType <ICalculator2, Calculator2>(Lifetime.Transient); registrar.RegisterType <ICalculator3, Calculator3>(Lifetime.Transient); var containerWithLoggingInterception = registrar.Build(); containerWithLoggingInterception.AddDecorator(new GriffinLoggingDecorator()); this.containerWithLoggingInterception = containerWithLoggingInterception; }
/// <summary> /// Initializes a new instance of the <see cref="ServiceLocatorServiceHost"/> class. /// </summary> /// <param name="container">The container.</param> /// <param name="serviceConcrete">Type of the service.</param> /// <param name="baseAddresses">The base addresses.</param> public ServiceLocatorServiceHost(IParentContainer container, Type serviceConcrete, params Uri[] baseAddresses) : base(serviceConcrete, baseAddresses) { if (container == null) { throw new ArgumentNullException("container"); } ApplyServiceBehaviors(container); ApplyContractBehaviors(container); foreach (var contractDescription in ImplementedContracts.Values) { var contractBehavior = new ServiceLocationContractBehavior(new ServiceLocatorInstanceProvider(container, contractDescription. ContractType)); contractDescription.Behaviors.Add(contractBehavior); } }
/// <summary> /// Creates a <see cref="T:System.ServiceModel.ServiceHost"/> for a specified type of service with a specific base address. /// </summary> /// <param name="serviceType">Specifies the type of service to host.</param> /// <param name="baseAddresses">The <see cref="T:System.Array"/> of type <see cref="T:System.Uri"/> that contains the base addresses for the service hosted.</param> /// <returns> /// A <see cref="T:System.ServiceModel.ServiceHost"/> for the type of service specified with a specific base address. /// </returns> protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses) { if (serviceType == null) throw new ArgumentNullException("serviceType"); ServiceBehaviorAttribute attribute; var lifetime = GetLifetime(serviceType, out attribute); if (_container == null) { var registrar = new ContainerRegistrar(); registrar.RegisterConcrete(serviceType, lifetime); registrar.RegisterModules(serviceType.Assembly); _container = registrar.Build(); } var host = new ServiceLocatorServiceHost(_container, serviceType, baseAddresses); if (ConfigurationCallback != null) ConfigurationCallback(host); return host; }
/// <summary> /// Initializes a new instance of the <see cref="ServiceLocatorServiceHost"/> class. /// </summary> /// <param name="container">The container.</param> /// <param name="serviceConcrete">Type of the service.</param> /// <param name="baseAddresses">The base addresses.</param> public ServiceLocatorServiceHost(IParentContainer container, Type serviceConcrete, params Uri[] baseAddresses) : base(serviceConcrete, baseAddresses) { if (container == null) { throw new ArgumentNullException("container"); } ApplyServiceBehaviors(container); ApplyContractBehaviors(container); foreach (var contractDescription in ImplementedContracts.Values) { var contractBehavior = new ServiceLocationContractBehavior(new ServiceLocatorInstanceProvider(container, contractDescription. ContractType)); contractDescription.Behaviors.Add(contractBehavior); } }
public GriffinContainerAdapter(IParentContainer container) { _container = container; }
public GriffinHandlerScopeFactoryAdapter(IParentContainer container) { _container = container ?? throw new ArgumentNullException(nameof(container)); }
public override void Dispose() { // Allow the container and everything it references to be disposed. this.container = null; this.containerWithLoggingInterception = null; }
public override void PrepareBasic() { var registrar = new ContainerRegistrar(); RegisterBasic(registrar); this.container = registrar.Build(); }
public override void Dispose() { // Allow the container and everything it references to be garbage collected. this.container = null; this.containerWithLoggingInterception = null; }
public void Dispose() { // Allow the container and everything it references to be disposed. this.container = null; this.containerWithLoggingInterception = null; }
/// <summary> /// Initializes a new instance of the <see cref="GriffinDependencyResolver"/> class. /// </summary> /// <param name="container">The container.</param> public GriffinDependencyResolver(IParentContainer container) { if (container == null) throw new ArgumentNullException("container"); _container = container; }