コード例 #1
0
        public void Configure(ConfigurationContext context)
        {
            var serviceCollection = new ServiceCollection();

            var ourContext = new Abstractions.Boot.ConfigurationContext
            {
                Configuration     = new ServerConfigWrapper(context.Configuration),
                ConnectionFactory = context.ConnectionFactory,
                ServiceProvider   = GetServiceProvider,
                Services          = serviceCollection
            };
            var ignoredModules = context.Configuration.GetSection("DisabledModules:ReportAnalyzer");

            _reportAnalyzerModuleStarter.Configure(ourContext, new ServerConfigSectionWrapper(ignoredModules));

            RegisterConfigurationStores(ourContext);
            ourContext.Services.AddScoped <IPrincipalAccessor, MessagingPrincipalWrapper>();
            ourContext.Services.AddScoped <IAdoNetUnitOfWork>(x =>
                                                              new AnalysisUnitOfWork(x.GetService <IDbConnection>(), false));
            ourContext.Services.AddScoped(provider =>
            {
                var principal = provider.GetService <IPrincipalAccessor>().Principal
                                ?? CoderrClaims.SystemPrincipal;

                return(context.ConnectionFactory(principal));
            });

            _serviceProvider = serviceCollection.BuildServiceProvider();
        }
コード例 #2
0
        private void ConfigureMessageQueueProvider(ConfigurationContext context)
        {
            var serializer = new MessagingSerializer(typeof(AdoNetMessageDto));

            _messageQueueProvider =
                new AdoNetMessageQueueProvider(() => context.ConnectionFactory(_systemPrincipal), serializer);
        }
コード例 #3
0
        private AdoNetMessageQueueProvider CreateQueueProvider(ConfigurationContext context)
        {
            if (_queueProvider != null)
            {
                return(_queueProvider);
            }

            IDbConnection Factory() => context.ConnectionFactory(_systemPrincipal);

            var serializer = new MessagingSerializer(typeof(AdoNetMessageDto));

            //serializer.ThrowExceptionOnDeserialziationFailure = false;
            _queueProvider = new AdoNetMessageQueueProvider(Factory, serializer);
            return(_queueProvider);
        }