コード例 #1
0
        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);
コード例 #2
0
        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);
        }