/// <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); }
/// <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>(); }