From e423311e084532e7a80b47b8ca229a06d1750b95 Mon Sep 17 00:00:00 2001 From: Lidneu Pires <35145405+LPFOXX@users.noreply.github.com> Date: Fri, 24 Nov 2023 19:56:05 -0100 Subject: [PATCH] Overload UseAzureBlobLockProvider with connection string/container name (#4648) --- .../DistributedLockingOptionsExtensions.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/locking/Elsa.DistributedLocking.AzureBlob/DistributedLockingOptionsExtensions.cs b/src/locking/Elsa.DistributedLocking.AzureBlob/DistributedLockingOptionsExtensions.cs index e2f79298a6..a3f56f0137 100644 --- a/src/locking/Elsa.DistributedLocking.AzureBlob/DistributedLockingOptionsExtensions.cs +++ b/src/locking/Elsa.DistributedLocking.AzureBlob/DistributedLockingOptionsExtensions.cs @@ -21,6 +21,12 @@ public static DistributedLockingOptionsBuilder UseAzureBlobLockProvider(this Dis return options; } + public static DistributedLockingOptionsBuilder UseAzureBlobLockProvider(this DistributedLockingOptionsBuilder options, string connectionString, string blobContainerName, BlobClientOptions? blobClientOptions = null) + { + options.UseProviderFactory(sp => CreateAzureDistributedLockFactory(sp, connectionString, blobContainerName, blobClientOptions)); + return options; + } + private static Func CreateAzureDistributedLockFactory(IServiceProvider services, Uri blobContainerUrl) { var container = new BlobContainerClient(blobContainerUrl); @@ -32,5 +38,11 @@ private static Func CreateAzureDistributedLockFactory( var container = new BlobContainerClient(blobContainerUrl, tokenCredential, blobClientOptions); return name => new AzureBlobLeaseDistributedLock(container, name); } + + private static Func CreateAzureDistributedLockFactory(IServiceProvider services, string connectionString, string blobContainerName, BlobClientOptions? blobClientOptions) + { + var container = new BlobContainerClient(connectionString, blobContainerName, blobClientOptions); + return name => new AzureBlobLeaseDistributedLock(container, name); + } } -} \ No newline at end of file +}