public async Task LoadTest_Consul_GetAll() { var provider = new ConsulConfigurationStore(); var sTime = DateTime.Now; int load = 1; var tasks = new Task <bool> [load]; for (int i = 0; i < load; i++) { tasks[i] = Task.Run(async() => await GetAllAsync()); } var continuation = Task.WhenAll(tasks); try { continuation.Wait(); } catch (AggregateException) { } if (continuation.Status == TaskStatus.RanToCompletion) { Console.WriteLine(DateTime.Now.Subtract(sTime)); } }
public void GetConfugurationFromConsul() { var provider = new ConsulConfigurationStore(); var result = provider.Get("global", "content_service", "hotel_content", "applicable_supplier_families"); Assert.IsNotNull(result); }
public async Task <bool> GetAllAsync() { var provider = new ConsulConfigurationStore(); Console.WriteLine("hello"); var result = await provider.GetAllAsync(); return(result != null); }
public async Task GetAllConfugurationFromConsul() { var provider = new ConsulConfigurationStore(); var result = await provider.GetAllAsync(); Assert.IsNotNull(result); Assert.IsTrue(result.Count > 0); }
private IConfigurationRoot GetConfiguration() { var configBuilder = new ConfigurationBuilder() .AddJsonFile("ConsulSettings.json"); var config = configBuilder.Build(); try { var store = new ConsulConfigurationStore(config["Url"], config["Token"]); IExternalConfigurationProvider prov = new ExternalConfigurationProvider(store, config["Environment"]); var serviceSettings = prov.GetServiceSettingsAsync(config["ServiceName"]).Result; if (!string.IsNullOrEmpty(serviceSettings["AppService"])) { configBuilder.Sources.Clear(); using var jsonStream = new MemoryStream(Encoding.UTF8 .GetBytes(serviceSettings["AppService"])); configBuilder.AddJsonStream(jsonStream); config = configBuilder.Build(); } else { throw new Exception("Consul doesn't contain needed settings"); } } catch { configBuilder.Sources.Clear(); configBuilder.AddJsonFile("appsettings.json"); config = configBuilder.Build(); } return(config); }
static void Main(string[] args) { var consulUrl = Properties.Settings.Default.ConsulUrl; var consulToken = Properties.Settings.Default.ConsulToken; var consulConfig = new ConsulConfig { Url = consulUrl, Token = consulToken }; var store = new ConsulConfigurationStore(consulConfig.Url, consulConfig.Token); var provider = new ExternalConfigurationProvider(store, "debug"); var mangoSettingsTask = provider.GetServiceSettingsAsync <MangoConfig>("mango"); var mangoSettings = mangoSettingsTask.Result; Console.WriteLine($"ApiKey : {mangoSettings.ApiKey}"); Console.WriteLine($"ApiSignature : {mangoSettings.ApiSignature}"); Console.ReadLine(); }