public ConfigurationPoller(IOptions <BucketConfigOptions> setting, IDataRepository dataRepository, IDataListener dataListener, ILogger <ConfigurationPoller> logger) { _setting = setting.Value; _dataRepository = dataRepository; _dataListener = dataListener; _logger = logger; }
public static void Main(string[] args) { // 域名端口配置 var hosting = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("hosting.json", optional: true) .Build(); WebHost.CreateDefaultBuilder(args) .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .ConfigureAppConfiguration((hostingContext, _config) => { _config .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", true, true) .AddJsonFile($"appsettings.{hostingContext.HostingEnvironment.EnvironmentName}.json", true, true) .AddEnvironmentVariables(); var option = new BucketConfigOptions(); _config.Build().GetSection("ConfigServer").Bind(option); _config.AddBucketConfig(option); }) .UseStartup <Startup>() .UseUrls(hosting.GetValue <string>("urls")) .Build() .Run(); }
public RedisDataListener(IOptions <BucketConfigOptions> setting, IServiceProvider serviceProvider, IDataRepository dataRepository, ILogger <RedisDataListener> logger, IJsonHelper jsonHelper) { _setting = setting.Value; _serviceProvider = serviceProvider; _dataRepository = dataRepository; _logger = logger; _jsonHelper = jsonHelper; }
/// <summary> /// 应用程序入口点 /// </summary> /// <param name="args">入口点参数</param> public static void Main(string[] args) { WebHost.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostingContext, _config) => { // 从配置中心拉取配置与appsettings.json配置进行合并,可用于组件注册 var option = new BucketConfigOptions(); _config.Build().GetSection("ConfigServer").Bind(option); _config.AddBucketConfig(option); }) .ConfigureLogging((hostingContext, logging) => { logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging")).ClearProviders() .AddBucketLog(hostingContext.Configuration.GetValue <string>("Project:Name")); }) .UseStartup <Startup>() .Build() .Run(); }
/// <summary> /// 应用程序入口点 /// </summary> /// <param name="args">入口点参数</param> public static void Main(string[] args) { WebHost.CreateDefaultBuilder(args) .UseWebRoot("") .ConfigureAppConfiguration((hostingContext, x) => { var option = new BucketConfigOptions(); x.Build().GetSection("ConfigServer").Bind(option); x.AddBucketConfig(option); }) .ConfigureLogging((hostingContext, logging) => { logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging")).ClearProviders() .AddBucketLog(hostingContext.Configuration.GetValue <string>("Project:Name")); }) .UseStartup <Startup>() .Build() .Run(); }
/// <summary> /// 应用程序入口点 /// </summary> /// <param name="args">入口点参数</param> public static void Main(string[] args) { WebHost.CreateDefaultBuilder(args) .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .ConfigureAppConfiguration((hostingContext, _config) => { _config .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", true, true) .AddJsonFile($"appsettings.{hostingContext.HostingEnvironment.EnvironmentName}.json", true, true) .AddEnvironmentVariables(); // 添加环境变量 // 从配置中心拉取配置与appsettings.json配置进行合并,可用于组件注册 var option = new BucketConfigOptions(); _config.Build().GetSection("ConfigServer").Bind(option); _config.AddBucketConfig(option); }) .UseStartup <Startup>() .Build() .Run(); }
public BucketConfigurationProvider(BucketConfigOptions options) { _configurationHelper = new ConfigurationHelper(options); Data = new ConcurrentDictionary <string, string>(); }
public HttpUrlRepository(IOptions <BucketConfigOptions> setting, IServiceProvider serviceProvider) { _setting = setting.Value; _serviceProvider = serviceProvider; }
static void Main(string[] args) { var hostBuilder = new HostBuilder() .UseContentRoot(Directory.GetCurrentDirectory()) .ConfigureHostConfiguration(config => { if (args != null) { config.AddCommandLine(args); } }) .ConfigureAppConfiguration((hostingContext, config) => { config .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", true, true) .AddJsonFile($"appsettings.{hostingContext.HostingEnvironment.EnvironmentName}.json", true, true) .AddEnvironmentVariables(); var option = new BucketConfigOptions(); config.Build().GetSection("ConfigServer").Bind(option); config.AddBucketConfig(option); }) .ConfigureServices((hostContext, services) => { // 添加基础 services.AddBucketAspNetCore(); // 添加日志 services.AddLogEventTransport(); // 添加数据库Orm services.AddSqlSugarDbContext(); // 添加配置服务 services.AddConfigServer(hostContext.Configuration); // 添加事件驱动 services.AddEventBus(option => { option.UseRabbitMQ(); }); // 添加HttpClient services.AddHttpClient(); // 添加缓存 services.AddMemoryCache(); // 添加定时任务 services.AddBucketHostedService(builder => { builder.AddConfig(); }); // 添加缓存组件 services.AddCaching(build => { build.UseInMemory("default"); build.UseStackExchangeRedis(new Caching.StackExchangeRedis.Abstractions.StackExchangeRedisOption { Configuration = "10.10.188.136:6379,allowadmin=true", DbProviderName = "redis" }); }); // 添加数据仓储注册 services.AddScoped(typeof(ISqlSugarDbRepository <>), typeof(SqlSugarDbRepository <>)); // 事件注册 RegisterEventBus(services); }) .ConfigureLogging((hostingContext, logging) => { logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging")) .ClearProviders() .AddBucketLog("Pinzhi.BackgroundTasks"); }) .UseConsoleLifetime() .Build(); hostBuilder.ConfigureEventBus().Run(); }
public HttpUrlRepository(IOptions <BucketConfigOptions> setting) { _setting = setting.Value; }
public BucketConfigurationProvider(BucketConfigOptions options) { _options = options; Data = new ConcurrentDictionary <string, string>(); }
public static IConfigurationBuilder AddBucketConfig(this IConfigurationBuilder builder, BucketConfigOptions options) { builder.Add(new BucketConfigurationProvider(options)); return(builder); }
public ConfigurationHelper(BucketConfigOptions options) { _options = options; client = new HttpClient(); }
public BucketConfigHostedService(IOptions <BucketConfigOptions> setting, IDataRepository dataRepository) { _setting = setting.Value; _dataRepository = dataRepository; }