Exemplo n.º 1
0
        public static Task <ISubscriptionTrackingService> InitSubscriptionTrackingService(
            SubscriptionTrackingElement config)
        {
            var factory = new SubscriptionTrackingServiceFactory();

            return(factory.InitSubscriptionTrackingService(config));
        }
        public override async Task Initialize(AspNetCoreConfiguration platibusConfiguration, string configSectionName = null)
        {
            var diagnosticService = platibusConfiguration.DiagnosticService;

            if (string.IsNullOrWhiteSpace(configSectionName))
            {
                configSectionName = "platibus";
                await diagnosticService.EmitAsync(
                    new DiagnosticEventBuilder(this, DiagnosticEventType.ConfigurationDefault)
                {
                    Detail = $"Using default configuration section \"{configSectionName}\""
                }.Build());
            }

            var configSection = LoadConfigurationSection(configSectionName, diagnosticService);

            await Initialize(platibusConfiguration, configSection);

            platibusConfiguration.BaseUri = configSection?.GetValue <Uri>("baseUri");
            platibusConfiguration.BypassTransportLocalDestination = configSection?.GetValue("BypassTransportLocalDestination", true) ?? true;

            var mqsFactory = new MessageQueueingServiceFactory(platibusConfiguration.DiagnosticService);
            var mqsConfig  = configSection?.GetSection("queueing");

            platibusConfiguration.MessageQueueingService = await mqsFactory.InitMessageQueueingService(mqsConfig);

            var stsFactory = new SubscriptionTrackingServiceFactory(platibusConfiguration.DiagnosticService);
            var stsConfig  = configSection?.GetSection("subscriptionTracking");

            platibusConfiguration.SubscriptionTrackingService = await stsFactory.InitSubscriptionTrackingService(stsConfig);
        }
        /// <summary>
        /// Initializes the supplied HTTP server <paramref name="configuration"/> based on the
        /// properties of the provided <paramref name="configSection"/>
        /// </summary>
        /// <param name="configuration">The configuration to initialize</param>
        /// <param name="configSection">The configuration section whose properties are to be used
        /// to initialize the <paramref name="configuration"/></param>
        /// <returns>Returns a task that completes when the configuration has been initialized</returns>
        public async Task Initialize(OwinConfiguration configuration, OwinConfigurationSection configSection)
        {
            await base.Initialize(configuration, configSection);

            configuration.BaseUri = configSection.BaseUri;
            configuration.BypassTransportLocalDestination = configSection.BypassTransportLocalDestination;

            var mqsFactory = new MessageQueueingServiceFactory(configuration.DiagnosticService);
            var mqsConfig  = configSection.Queueing;

            configuration.MessageQueueingService = await mqsFactory.InitMessageQueueingService(mqsConfig);

            var stsFactory = new SubscriptionTrackingServiceFactory(configuration.DiagnosticService);
            var stsConfig  = configSection.SubscriptionTracking;

            configuration.SubscriptionTrackingService = await stsFactory.InitSubscriptionTrackingService(stsConfig);
        }
        /// <inheritdoc />
        /// <summary>
        /// Initializes the supplied HTTP server <paramref name="platibusConfiguration" /> based on the
        /// properties of the provided <paramref name="configuration" />
        /// </summary>
        /// <param name="platibusConfiguration">The configuration to initialize</param>
        /// <param name="configuration">The configuration section whose properties are to be used
        /// to initialize the <paramref name="platibusConfiguration" /></param>
        /// <returns>Returns a task that completes when the configuration has been initialized</returns>
        public override async Task Initialize(HttpServerConfiguration platibusConfiguration, IConfiguration configuration)
        {
            await base.Initialize(platibusConfiguration, configuration);

            platibusConfiguration.BaseUri          = configuration?.GetValue <Uri>("baseUri");
            platibusConfiguration.ConcurrencyLimit = configuration?.GetValue("concurrencyLimit", 0) ?? 0;

            InitializeAuthenticationSchemes(platibusConfiguration, configuration);
            platibusConfiguration.BypassTransportLocalDestination = configuration?.GetValue <bool>("bypassTransportLocalDestination") ?? false;

            var mqsFactory      = new MessageQueueingServiceFactory(platibusConfiguration.DiagnosticService);
            var queueingSection = configuration?.GetSection("queueing");

            platibusConfiguration.MessageQueueingService = await mqsFactory.InitMessageQueueingService(queueingSection);

            var stsFactory = new SubscriptionTrackingServiceFactory(platibusConfiguration.DiagnosticService);
            var stSection  = configuration?.GetSection("subscriptionTracking");

            platibusConfiguration.SubscriptionTrackingService = await stsFactory.InitSubscriptionTrackingService(stSection);
        }
        /// <summary>
        /// Initializes the supplied HTTP server <paramref name="platibusConfiguration"/> based on the
        /// properties of the provided <paramref name="configSection"/>
        /// </summary>
        /// <param name="platibusConfiguration">The configuration to initialize</param>
        /// <param name="configSection">The configuration section whose properties are to be used
        /// to initialize the <paramref name="platibusConfiguration"/></param>
        /// <returns>Returns a task that completes when the configuration has been initialized</returns>
        public async Task Initialize(HttpServerConfiguration platibusConfiguration,
                                     HttpServerConfigurationSection configSection)
        {
            await base.Initialize(platibusConfiguration, configSection);

            platibusConfiguration.BaseUri                         = configSection.BaseUri;
            platibusConfiguration.ConcurrencyLimit                = configSection.ConcurrencyLimit;
            platibusConfiguration.AuthenticationSchemes           = configSection.AuthenticationSchemes.GetFlags();
            platibusConfiguration.BypassTransportLocalDestination = configSection.BypassTransportLocalDestination;

            var mqsFactory = new MessageQueueingServiceFactory(platibusConfiguration.DiagnosticService);
            var mqsConfig  = configSection.Queueing;

            platibusConfiguration.MessageQueueingService = await mqsFactory.InitMessageQueueingService(mqsConfig);

            var stsFactory = new SubscriptionTrackingServiceFactory(platibusConfiguration.DiagnosticService);
            var stsConfig  = configSection.SubscriptionTracking;

            platibusConfiguration.SubscriptionTrackingService =
                await stsFactory.InitSubscriptionTrackingService(stsConfig);
        }