using Adnc.Shared.Application.IdGenerater; using Easy.Realization; using Easy.Snowflakes; using Microsoft.Extensions.DependencyInjection; using StackExchange.Redis; namespace Easy.Extensions; public static class ServiceCollectionServiceExtensions { public static IServiceCollection AddDriftingSnowflakes(this IServiceCollection services, SnowflakeOptions snowflakeOptions) { services.AddSingleton(); services.AddTransient(o => snowflakeOptions); services.AddTransient(o => ConnectionMultiplexer.Connect(snowflakeOptions.RedisConnectionString).GetDatabase()); services.AddSingleton(); services.AddHostedService(); return services; } }