Example #1
0
        public ISubscriptionClient CreateSubscriptionClient(string topicName, string subscriptionName)
        {
            var key = $"{topicName}_{subscriptionName}";

            var subscriptionClientModel = new AzureSubscriptionClientModel(topicName, subscriptionName);

            return(CreateClient(key, subscriptionClientModel, _subscriptionClients, BuildSubscriptionClient));
        }
Example #2
0
        private ISubscriptionClient BuildSubscriptionClient(AzureSubscriptionClientModel model)
        {
            ServiceBusConnectionStringBuilder builder
                = new ServiceBusConnectionStringBuilder(_connectionString)
                {
                EntityPath = model.TopicName
                };

            return(new SubscriptionClient(builder, model.SubscriptionName, ReceiveMode.PeekLock, RetryPolicy.Default));
        }
Example #3
0
        public AzureServiceBusSubscriptionClient(
            IAzureServiceBusPersistentConnection persistentConnection,
            ILogger <AzureServiceBusClient> logger,
            IOptions <AzureServiceBusSubscriptionConfiguration> configuration,
            IServiceProvider serviceProvider,
            IConfiguration globalConfiguration)
        {
            Guard.Argument(persistentConnection, nameof(persistentConnection)).NotNull();
            _serviceProvider = serviceProvider;

            _configuration = Guard.Argument(configuration, nameof(configuration)).NotNull().Value.Value;

            _logger = Guard.Argument(logger, nameof(logger)).NotNull().Value;

            _serviceProvider = Guard.Argument(serviceProvider, nameof(serviceProvider)).NotNull().Value;

            var subscriptionInfo = new AzureSubscriptionClientModel();

            globalConfiguration.Bind(typeof(TEvent).Name, subscriptionInfo);

            _subscriptionClient = persistentConnection.CreateSubscriptionClient(subscriptionInfo.TopicName, subscriptionInfo.SubscriptionName);
        }