示例#1
0
        private void Init()
        {
            var settings = new AzureQueueSettings(
                connectionString: _appsettings.ServiceBus.ConnectionString,
                queueName: _appsettings.ServiceBus.QueueName);

            _azureQueueSender   = new AzureQueueSender <Message>(settings);
            _azureQueueReceiver = new AzureQueueReceiver <Message>(settings);
        }
示例#2
0
        public ServiceBusProvider(
            ILoggerFactory loggerFactory,
            IServiceScopeFactory scopeFactory,
            IHubContext <DashboardsHub> dashboardsHubContext,
            IOptions <AzureQueueSettings> queueOptions,
            IAzureQueueReceiver azureQueueReceiver,
            IAzureQueueSender azureQueueSender)
        {
            _logger                           = loggerFactory?.CreateLogger <ServiceBusProvider>() ?? throw new ArgumentNullException(nameof(loggerFactory));
            _scopeFactory                     = scopeFactory;
            _dashboardsHubContext             = dashboardsHubContext;
            _queueOptions                     = queueOptions;
            _instanceDataQueueClient          = new QueueClient(_queueOptions.Value.ConnectionString, _queueOptions.Value.DataQueueName);
            _instanceErrorQueueClient         = new QueueClient(_queueOptions.Value.ConnectionString, _queueOptions.Value.ErrorQueueName);
            _instanceSettingsQueueClient      = new QueueClient(_queueOptions.Value.ConnectionString, _queueOptions.Value.SettingsQueueName);
            _instanceNotifyQueueClient        = new QueueClient(_queueOptions.Value.ConnectionString, _queueOptions.Value.NotifyQueueName);
            _instanceAnomalyReportQueueClient = new QueueClient(_queueOptions.Value.ConnectionString, _queueOptions.Value.AnomalyReportQueueName);

            _azureQueueReceiver = azureQueueReceiver;
            _azureQueueReceiver.Receive <InstanceCollectedDataMessage>(
                _instanceDataQueueClient,
                OnProcessAsync,
                ExceptionReceivedHandler,
                ExceptionWhileProcessingHandler,
                OnWait);

            _azureQueueReceiver.Receive <InstanceErrorMessage>(
                _instanceErrorQueueClient,
                OnErrorProcessAsync,
                ExceptionReceivedHandler,
                ExceptionWhileProcessingHandler,
                OnWait);

            _azureQueueReceiver.Receive <InstanceNotificationMessage>(
                _instanceNotifyQueueClient,
                OnNotifyProcessAsync,
                ExceptionReceivedHandler,
                ExceptionWhileProcessingHandler,
                OnWait);

            _azureQueueReceiver.Receive <InstanceAnomalyReportMessage>(
                _instanceAnomalyReportQueueClient,
                OnAnomalyReportProcessAsync,
                ExceptionReceivedHandler,
                ExceptionWhileProcessingHandler,
                OnWait);

            _azureQueueSender = azureQueueSender;
        }
示例#3
0
        public ServiceBusProvider(ILoggerFactory loggerFactory,
                                  IInstanceSettingsService <InstanceSettingsDto> instanceSettingsService,
                                  IOptions <AzureQueueSettings> queueOptions,
                                  IAzureQueueSender azureQueueSender,
                                  IAzureQueueReceiver azureQueueReceiver)
        {
            _logger = loggerFactory?.CreateLogger <ServiceBusProvider>() ?? throw new ArgumentNullException(nameof(loggerFactory));
            _instanceSettingsService          = instanceSettingsService;
            _azureQueueSender                 = azureQueueSender;
            _azureQueueReceiver               = azureQueueReceiver;
            _queueOptions                     = queueOptions;
            _instanceDataQueueClient          = new QueueClient(_queueOptions.Value.ConnectionString, _queueOptions.Value.DataQueueName);
            _instanceErrorQueueClient         = new QueueClient(_queueOptions.Value.ConnectionString, _queueOptions.Value.ErrorQueueName);
            _instanceSettingsQueueClient      = new QueueClient(_queueOptions.Value.ConnectionString, _queueOptions.Value.SettingsQueueName);
            _instanceNotifyQueueClient        = new QueueClient(_queueOptions.Value.ConnectionString, _queueOptions.Value.NotifyQueueName);
            _instanceAnomalyReportQueueClient = new QueueClient(_queueOptions.Value.ConnectionString, _queueOptions.Value.AnomalyReportQueueName);

            _azureQueueReceiver.Receive <InstanceSettingsMessage>(
                _instanceSettingsQueueClient,
                onSettingsProcessAsync,
                ExceptionReceivedHandler,
                ExceptionWhileProcessingHandler,
                OnWait);
        }
 public PersistenceService(IWriteRepository <T> writeRepository, IAzureQueueSender <T> azureQueueSender)
 {
     _writeRepository  = writeRepository;
     _azureQueueSender = azureQueueSender;
 }