protected override void Load(ContainerBuilder builder) { base.Load(builder); builder.RegisterInstance(_claptrapDesignStore) .As <IClaptrapDesignStore>() .SingleInstance(); var claptrapDesigns = _claptrapDesignStore.ToArray(); foreach (var claptrapDesign in claptrapDesigns) { var actorTypeCode = claptrapDesign.ClaptrapTypeCode; _logger.LogDebug("start to register actor type : {actorTypeCode}", actorTypeCode); foreach (var type in GetTypes(claptrapDesign).Distinct()) { builder.RegisterType(type) .AsSelf() .InstancePerLifetimeScope(); } _logger.LogDebug("actor type registration for '{actorTypeCode}' done", actorTypeCode); } _logger.LogDebug("actor type registration done"); _logger.LogInformation("{count} actorType have been registered into container", claptrapDesigns.Length);
private IClaptrapDesignStore ConfigStore( IClaptrapDesignStore claptrapDesignStore, IEnumerable <IClaptrapDesignStoreConfigurator> configurators) { _logger.LogInformation(_l.Value[LK.claptrap_design_store_created__start_to_configure_it]); _logger.LogDebug(_l.Value[LK.all_designs____designs_], JsonConvert.SerializeObject(claptrapDesignStore.ToArray())); foreach (var configurator in configurators) { _logger.LogDebug(_l.Value[LK.start_to_configure_claptrap_design_store_by__configurator_], configurator); configurator.Configure(claptrapDesignStore); } _logger.LogInformation(_l.Value[LK.found__actorCount__claptrap_designs], claptrapDesignStore.Count()); _logger.LogDebug(_l.Value[LK.all_designs_after_configuration___designs_], JsonConvert.SerializeObject(claptrapDesignStore.ToArray())); return(claptrapDesignStore); }