public static IWorkIdCreateStrategyBuilder AddConsulWorkIdCreateStrategy(this IWorkIdCreateStrategyBuilder hostBuilder, IConfiguration configuration, string AppId) { var config = configuration.Get <ConsulConfig>(); hostBuilder.Services.AddSingleton <IConsulClient>(a => { var _client = new ConsulClient(delegate(ConsulClientConfiguration obj) { obj.Address = new Uri("http://" + config.SERVICE_REGISTRY_ADDRESS + ":" + config.SERVICE_REGISTRY_PORT); obj.Datacenter = config.SERVICE_REGION; obj.Token = config.SERVICE_REGISTRY_TOKEN; }); return(_client); }); hostBuilder.Services.AddSingleton <IWorkIdCreateStrategy>(sp => { var consulClient = sp.GetService <IConsulClient>(); var strategy = new ConsulWorkIdCreateStrategy(consulClient, AppId); return(strategy); }); return(hostBuilder); }
public static IWorkIdCreateStrategyBuilder AddHostNameWorkIdCreateStrategy(this IWorkIdCreateStrategyBuilder hostBuilder) { hostBuilder.Services.AddSingleton <IWorkIdCreateStrategy>(sp => { var strategy = new HostNameWorkIdCreateStrategy(); return(strategy); }); return(hostBuilder); }
public static IWorkIdCreateStrategyBuilder AddStaticWorkIdCreateStrategy(this IWorkIdCreateStrategyBuilder hostBuilder, int WorkId) { hostBuilder.Services.AddSingleton <IWorkIdCreateStrategy>(sp => { var strategy = new StaticWorkIdCreateStrategy(WorkId); return(strategy); }); return(hostBuilder); }
public static IWorkIdCreateStrategyBuilder AddConsulWorkIdCreateStrategy(this IWorkIdCreateStrategyBuilder hostBuilder, string AppId) { hostBuilder.Services.AddSingleton <IWorkIdCreateStrategy>(sp => { var consulClient = sp.GetService <IConsulClient>(); var strategy = new ConsulWorkIdCreateStrategy(consulClient, AppId); return(strategy); }); return(hostBuilder); }