Exemple #1
0
        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);
        }