using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using System.Threading.Tasks; using Elsa.Extensions; namespace Elsa.Samples.DistributedLock { /// /// Demonstrates the use of a distributed locking provider. /// Make sure that you have a Redis host installed or use the docker-compose.yaml file to run it on Docker. /// internal static class Program { private static async Task Main() => await CreateHostBuilder().UseConsoleLifetime().Build().RunAsync(); private static IHostBuilder CreateHostBuilder() => Host.CreateDefaultBuilder() .ConfigureServices( (_, services) => { services .AddRedis("localhost:6379,abortConnect=false") .AddElsa(elsa => elsa.ConfigureDistributedLockProvider(options => options.UseRedisLockProvider()) .AddConsoleActivities() .AddQuartzTemporalActivities() .AddWorkflow()); }); } }