Может заставить его работать, но не может использовать внедрение зависимостей.Любые предложения по улучшению этой реализации будут высоко оценены.
Startup.cs
// Службы размещенных служб.AddSingleton ();
ServiceBusListener.cs
открытый класс ServiceBusListener: BackgroundService, IServiceBusListener {
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
Console.WriteLine($"ServiceBusListener is starting.");
Dictionary<string, QueueClient> queueClients = new Dictionary<string, QueueClient>();
foreach (var queue in _svcBusSettings.Queues)
{
var svcBusQueueClient = new ServiceBusQueueClient(queue.Value, queue.Key);
queueClients.Add(queue.Key, svcBusQueueClient.QueueClient);
}
}
}
ServiceBusQueueClient.cs
открытый класс ServiceBusQueueClient: IServiceBusQueueClient {private IQueueClient _queueClient;
public QueueClient QueueClient
{
get { return _queueClient as QueueClient; }
}
public ServiceBusQueueClient(string serviceBusConnection, string queueName)
{
_queueClient = new QueueClient(serviceBusConnection, queueName);
RegisterOnMessageHandlerAndReceiveMessages();
}
}