public static Azure.Storage.Queues.QueueClient CreateQueueClient(Common.Configuration.IConfigurationManager config, string queueName)
        {
            Common.DataAccess.ConnectionStrings.StorageAccountConnectionString sacs = config.MonitoredQueueConnectionString;

            string cacheKey = $"connection={sacs.ConnectionString.ToLower()};queue={queueName}";

            if (_clientCache.ContainsKey(cacheKey))
            {
                return(_clientCache[cacheKey]);
            }

            Uri uri = GetMonitoredQueueUri(queueName, sacs);

            switch (sacs.KeyType)
            {
            case Common.DataAccess.ConnectionStrings.StorageAccountConnectionString.AccountKeyType.None:
                return(EnsureClientCache(cacheKey, new Azure.Storage.Queues.QueueClient(uri, new DefaultAzureCredential())));

            case Common.DataAccess.ConnectionStrings.StorageAccountConnectionString.AccountKeyType.SAS:
                return(EnsureClientCache(cacheKey, new Azure.Storage.Queues.QueueClient(uri)));

            case Common.DataAccess.ConnectionStrings.StorageAccountConnectionString.AccountKeyType.AccountKey:
                return(EnsureClientCache(cacheKey, new Azure.Storage.Queues.QueueClient(sacs.ToStorageAccountFormat(), queueName)));
            }

            return(null);
        }
示例#2
0
        public QueueMonitor(string queueName, TimeSpan messageVisibilityTimeout, Common.Configuration.IConfigurationManager config, ILogger logger)
        {
            _logger = logger;
            _config = config;

            _queueClient = Helpers.QueueClientHelper.CreateQueueClient(config, queueName);

            _deadLetterQueueClient    = Helpers.QueueClientHelper.CreateQueueClient(config, config.DeadLetterMessagesQueueName);
            _messageVisibilityTimeout = messageVisibilityTimeout;
        }
示例#3
0
        public MessageHandler(Azure.Storage.Queues.QueueClient queueClient, Azure.Storage.Queues.QueueClient deadLetterClient, Common.Configuration.IConfigurationManager config, Common.Tracking.IProcessingTracker tracker, ILogger logger)
        {
            _queueClient           = queueClient;
            _deadLetterQueueClient = deadLetterClient;

            _config  = config;
            _logger  = logger;
            _tracker = tracker;

            _factory = new RequestProcessorFactory(_config, _tracker, _logger);
        }
 public RequestProcessor(Common.Configuration.IConfigurationManager config, Common.Tracking.IProcessingTracker tracker, ILogger logger)
 {
     Logger  = logger;
     Config  = config;
     Tracker = tracker;
 }
        public static Azure.Storage.Queues.QueueClient CreateQueueClient(Uri queueUri, Common.Configuration.IConfigurationManager config)
        {
            //todo: refactor to enable various crednetials...

            string cacheKey = queueUri.ToString().ToLower();

            if (_clientCache.ContainsKey(cacheKey))
            {
                return(_clientCache[cacheKey]);
            }

            return(EnsureClientCache(cacheKey, new Azure.Storage.Queues.QueueClient(queueUri, new DefaultAzureCredential())));
        }
 public SecretExpiredRequestProcessor(Common.Configuration.IConfigurationManager config, Common.Tracking.IProcessingTracker tracker, ILogger logger) : base(config, tracker, logger)
 {
 }
示例#7
0
 public Host(Common.Configuration.IConfigurationManager config, ILogger <Host> logger)
 {
     _logger = logger;
     _config = config;
 }
示例#8
0
 public RequestProcessorFactory(Common.Configuration.IConfigurationManager config, Common.Tracking.IProcessingTracker tracker, ILogger logger)
 {
     _logger  = logger;
     _config  = config;
     _tracker = tracker;
 }