Я хочу внедрить несколько ServiceBusClient с одинаковым соединением, но с разным именем очереди.[code] _services.TryAddSingleton(implementationFactory => { var serviceBusConfiguration = implementationFactory.GetRequiredService().Value;
var serviceBusClient = new ServiceBusClient(serviceBusConfiguration.ServiceBusConnectionString, new ServiceBusClientOptions { TransportType = ServiceBusTransportType.AmqpWebSockets });
return serviceBusClient.CreateReceiver(serviceBusConfiguration.ServiceBusQueueName, new ServiceBusReceiverOptions { ReceiveMode = ServiceBusReceiveMode.PeekLock }); }); < /code> Для использования я должен создать экземпляр ServiceBussender. private readonly ServiceBusSender _serviceBusSender;
public CarReservationMessagingService(ServiceBusSender serviceBusSender) { _serviceBusSender = serviceBusSender ?? throw new ArgumentNullException(nameof(serviceBusSender)); }
public async Task PublishNewCarReservationMessageAsync(CarReservation carReservation) { var carReservationIntegrationMessage = new CarReservationIntegrationMessage { Id = Guid.NewGuid().ToString(), CarId = carReservation.CarId, CustomerId = carReservation.CustomerId, RentFrom = carReservation.RentFrom, RentTo = carReservation.RentTo };
var serializedMessage = JsonSerializer.Serialize(carReservationIntegrationMessage); ServiceBusMessage message = new ServiceBusMessage(serializedMessage); await _serviceBusSender.SendMessageAsync(message); } [/code] Как я могу ввести несколько ServiceBusClient и использовать их по -разному?