public ConfigurationPoller(IOptions <BucketConfigOptions> setting, IDataRepository dataRepository, IDataListener dataListener, ILogger <ConfigurationPoller> logger)
 {
     _setting        = setting.Value;
     _dataRepository = dataRepository;
     _dataListener   = dataListener;
     _logger         = logger;
 }
示例#2
0
        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();
        }
示例#3
0
 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;
 }
示例#4
0
 /// <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();
 }
示例#5
0
 /// <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>();
 }
示例#8
0
 public HttpUrlRepository(IOptions <BucketConfigOptions> setting, IServiceProvider serviceProvider)
 {
     _setting         = setting.Value;
     _serviceProvider = serviceProvider;
 }
示例#9
0
        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();
        }
示例#10
0
 public HttpUrlRepository(IOptions <BucketConfigOptions> setting)
 {
     _setting = setting.Value;
 }
 public BucketConfigurationProvider(BucketConfigOptions options)
 {
     _options = options;
     Data     = new ConcurrentDictionary <string, string>();
 }
示例#12
0
 public static IConfigurationBuilder AddBucketConfig(this IConfigurationBuilder builder, BucketConfigOptions options)
 {
     builder.Add(new BucketConfigurationProvider(options));
     return(builder);
 }
示例#13
0
 public ConfigurationHelper(BucketConfigOptions options)
 {
     _options = options;
     client   = new HttpClient();
 }
示例#14
0
 public BucketConfigHostedService(IOptions <BucketConfigOptions> setting, IDataRepository dataRepository)
 {
     _setting        = setting.Value;
     _dataRepository = dataRepository;
 }