diff --git a/src/activities/Elsa.Activities.AzureServiceBus/Services/MessageSenderFactory.cs b/src/activities/Elsa.Activities.AzureServiceBus/Services/MessageSenderFactory.cs index ebfd37c49..d281a3b77 100644 --- a/src/activities/Elsa.Activities.AzureServiceBus/Services/MessageSenderFactory.cs +++ b/src/activities/Elsa.Activities.AzureServiceBus/Services/MessageSenderFactory.cs @@ -23,11 +23,11 @@ namespace Elsa.Activities.AzureServiceBus.Services public async Task GetSenderAsync(string queueName, CancellationToken cancellationToken) { + await _semaphore.WaitAsync(cancellationToken); + if (_senders.TryGetValue(queueName, out var messageSender)) return messageSender; - await _semaphore.WaitAsync(cancellationToken); - try { await _managementClient.EnsureQueueExistsAsync(queueName, cancellationToken);