elsa-core/src/core/Elsa.Core/DistributedLockingOptionsBuilder.cs
2021-05-13 11:31:38 +02:00

19 lines
729 B
C#

using System;
using Medallion.Threading;
using Microsoft.Extensions.DependencyInjection;
namespace Elsa
{
public class DistributedLockingOptionsBuilder
{
public DistributedLockingOptionsBuilder(ElsaOptionsBuilder elsaOptionsBuilder) => ElsaOptionsBuilder = elsaOptionsBuilder;
public ElsaOptionsBuilder ElsaOptionsBuilder { get; }
public IServiceCollection Services => ElsaOptionsBuilder.Services;
public DistributedLockingOptionsBuilder UseProviderFactory(Func<IServiceProvider, Func<string, IDistributedLock>> factory)
{
ElsaOptionsBuilder.ElsaOptions.DistributedLockingOptions.DistributedLockProviderFactory = factory;
return this;
}
}
}