From b60e55f91b92b5a1a4f929613bfd66e3de0d2ee7 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Sun, 22 Oct 2023 20:01:15 +0200 Subject: [PATCH] Expose Azure Service Bus Client factories --- .../Features/AzureServiceBusFeature.cs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/modules/Elsa.AzureServiceBus/Features/AzureServiceBusFeature.cs b/src/modules/Elsa.AzureServiceBus/Features/AzureServiceBusFeature.cs index b68d02bc6..571c3be2a 100644 --- a/src/modules/Elsa.AzureServiceBus/Features/AzureServiceBusFeature.cs +++ b/src/modules/Elsa.AzureServiceBus/Features/AzureServiceBusFeature.cs @@ -35,6 +35,16 @@ public class AzureServiceBusFeature : FeatureBase /// public Action AzureServiceBusOptions { get; set; } = _ => { }; + /// + /// A delegate to create a instance. + /// + public Func ServiceBusClientFactory { get; set; } = sp => new(GetConnectionString(sp)); + + /// + /// A delegate to create a instance. + /// + public Func ServiceBusAdministrationClientFactory { get; set; } = sp => new(GetConnectionString(sp)); + /// public override void ConfigureHostedServices() { @@ -57,8 +67,8 @@ public class AzureServiceBusFeature : FeatureBase Services.Configure(AzureServiceBusOptions); Services - .AddSingleton(CreateServiceBusManagementClient) - .AddSingleton(CreateServiceBusClient) + .AddSingleton(ServiceBusAdministrationClientFactory) + .AddSingleton(ServiceBusClientFactory) .AddSingleton() .AddSingleton() .AddTransient(); @@ -72,9 +82,6 @@ public class AzureServiceBusFeature : FeatureBase // Handlers. Services.AddHandlersFrom(); } - - private static ServiceBusClient CreateServiceBusClient(IServiceProvider serviceProvider) => new(GetConnectionString(serviceProvider)); - private static ServiceBusAdministrationClient CreateServiceBusManagementClient(IServiceProvider serviceProvider) => new(GetConnectionString(serviceProvider)); private static string GetConnectionString(IServiceProvider serviceProvider) {