public void RegisterTypes(Container container, ILicensedAssemblies licensedAssemblies) { container.Register <IExceptionTranslator, ExceptionTranslator>(Lifestyle.Singleton); container.RegisterCollection <IExceptionTranslation>(licensedAssemblies.GetTypes <IExceptionTranslation>()); container.RegisterSingleton <ExceptionSerializer>(); container.Register <IWarningsCollector, WarningsCollector>(); }
public void RegisterTypes(Container container, ILicensedAssemblies licensedAssemblies) { var circuitBreakers = licensedAssemblies.GetTypes <CircuitBreaker>().ToList(); circuitBreakers.DoForEach(cbt => container.RegisterSingleton(cbt, cbt)); container.RegisterCollection <CircuitBreaker>(circuitBreakers); container.RegisterSingleton <CircuitBreakerRegistry>(); container.RegisterSingleton <CircuitBreakerAttributeLookup>(); }
public void RegisterTypes(Container container, ILicensedAssemblies licensedAssemblies) { container.Register <IFeatureRegistry, FeatureRegistry>(); container.Register <FeatureConfigurationStorage>(); // allow to inject featureconfiguration directly var featureConfigurations = licensedAssemblies.GetTypes <IFeatureConfiguration>() .Except(licensedAssemblies.GetTypes <IDefaultFeatureConfiguration>()) .Where(cfg => !cfg.HasAttribute <NeedsOptionalKeyAttribute>()) .ToList(); featureConfigurations.DoForEach(cfg => container.Register(cfg, () => container.GetInstance <IFeatureRegistry>() .GetFeatureConfiguration(cfg.AssemblyQualifiedName))); // default configs var defaultFeatureConfigurations = licensedAssemblies.Get <IDefaultFeatureConfiguration>() .Where(cfg => cfg != null) .ToArray(); container.RegisterCollection(defaultFeatureConfigurations); }