public static IServiceCollection AddSnowflake(this IServiceCollection service, Action <SnowflakeOption> option) { service.Configure(option); service.AddSingleton <ISnowflakeIdMaker, SnowflakeIdMaker>(); var opt = new SnowflakeOption(); option(opt); if (opt.EnableAutoWorkId) { service.AddHostedService <SnowflakeBackgroundServices>(); } return(service); }
/// <summary> /// 程序启动时调用一次就OK /// </summary> public static void InitSnowflake(SnowflakeOption options) { snowflake = new Snowflake(options.MachineId, options.DatacenterId); }