/// <summary>
        /// Ctor.
        /// </summary>
        /// <param name="provider">DI container.</param>
        public MassTransitForAzureBuilder(IServiceProvider provider)
        {
            AzureServiceBusOptions options = provider.GetService <IOptions <AzureServiceBusOptions> >().Value;

            _connectionString = Check.NotNullOrWhiteSpace(options.ConnectionString,
                                                          nameof(AzureServiceBusOptions.ConnectionString));
            _tokenTimeToLive = options.TokenTimeToLive > 0
                ? TimeSpan.FromSeconds(options.TokenTimeToLive)
                : ConfigDefaults.TokenTimeToLive;
            _provider = provider;
        }
        private Action <IRetryConfigurator> CreateDefaultRetryConfigurator(AzureServiceBusOptions options)
        {
            if (options.IntervalRetry?.Limit > 0)
            {
                int limit    = options.IntervalRetry.Limit;
                int interval = options.IntervalRetry.Interval;

                return(new Action <IRetryConfigurator>(retry =>
                                                       retry.Interval(limit, interval)));
            }
            return(null);
        }
        /// <summary>
        /// Ctor.
        /// </summary>
        /// <param name="provider">DI container.</param>
        public MassTransitForAzureBuilder(IServiceProvider provider)
        {
            AzureServiceBusOptions options = provider.GetService <IOptions <AzureServiceBusOptions> >().Value;

            _connectionString = Check.NotNullOrWhiteSpace(options.ConnectionString,
                                                          nameof(AzureServiceBusOptions.ConnectionString));
            _tokenTimeToLive = options.TokenTimeToLive > 0
                ? TimeSpan.FromSeconds(options.TokenTimeToLive)
                : ConfigDefaults.TokenTimeToLive;
            _provider           = provider;
            _topicNamePrefix    = options.TopicNamePrefix;
            _endpointNamePrefix = options.EndpointNamePrefix;
            _retryConfigurator  = CreateDefaultRetryConfigurator(options);
        }
Пример #4
0
        /// <summary>
        /// Ctor.
        /// </summary>
        /// <param name="configuration">Service configuration.</param>
        /// <param name="provider">DI container.</param>
        public MassTransitForAzureBuilder(IConfiguration configuration, IServiceProvider provider)
        {
            var options = new AzureServiceBusOptions();

            configuration.GetSection("AzureServiceBus").Bind(options);

            Check.NotNull(options, nameof(AzureServiceBus));


            _connectionString = Check.NotNullOrWhiteSpace(options.ConnectionString,
                                                          nameof(AzureServiceBusOptions.ConnectionString));
            _tokenTimeToLive = (options.TokenTimeToLive > 0
                ? TimeSpan.FromSeconds(options.TokenTimeToLive)
                : DefaultTokenTimeToLive);
            _provider = provider;

            _endpoints = new List <Endpoint>();
        }