/// <summary> /// 注入Cissy配置 /// </summary> /// <param name="services"></param> /// <returns></returns> public static CissyConfigBuilder AddCissyConfig(this IServiceCollection services, AppRunStatus runState) { appRunStatus = runState; ServiceCollection = services; CissyConfig config = GetCissyConfig(); if (config.IsNotNull()) { services.AddSingleton(typeof(ICissyConfig), config); } return(new CissyConfigBuilder() { ServiceCollection = services, CissyConfig = config }); }
public static CissyConfigBuilder AddCissyRemoteConfig(this IServiceCollection services, RemoteConfigSource remoteConfigSource) { appRunStatus = remoteConfigSource.RunStatus; ServiceCollection = services; var ConfigUrl = $"{remoteConfigSource.ConfigServer}/api/{remoteConfigSource.Version}/appconfig/index?appname={remoteConfigSource.AppName}&configpwd={remoteConfigSource.Password}&r={new Random().Next (1000,9999)}"; CissyConfig config = GetCissyRemoteConfig(ConfigUrl); if (config.IsNotNull()) { services.AddSingleton(typeof(ICissyConfig), config); } return(new CissyConfigBuilder() { ServiceCollection = services, CissyConfig = config }); }
static CissyConfig GetCissyConfig() { Type type = typeof(CissyConfigHelper); var builder = new ConfigurationBuilder(); //string s = type.Assembly.Location; if (appRunStatus == AppRunStatus.Delelopment) { builder.AddJsonFile("cissy.dev.json"); } else { builder.AddJsonFile("cissy.json"); } var root = builder.Build(); CissyConfig config = new CissyConfig(); IConfigurationSection section = root.GetSection(config.ConfigName); config.InitConfig(section); return(config); }
static CissyConfig GetCissyRemoteConfig(string url) { var configUrl = url + $"&r={new Random().Next(100000)}"; var devconfigUrl = configUrl + $"&dev=1"; Type type = typeof(CissyConfigHelper); var builder = new ConfigurationBuilder(); DatabaseFileProvider efp = new DatabaseFileProvider(); if (appRunStatus == AppRunStatus.Delelopment) { //builder.AddJsonFile("cissy.dev.json"); builder.AddJsonFile(efp, devconfigUrl, true, true); } else { builder.AddJsonFile(efp, configUrl, true, true); } var root = builder.Build(); CissyConfig config = new CissyConfig(); IConfigurationSection section = root.GetSection(config.ConfigName); config.InitConfig(section); return(config); }