private static string GetConnString() { var url = Environment.GetEnvironmentVariable("CONNSTRING"); if (!string.IsNullOrEmpty(url)) { return(url); } url = new Core.ConfigurationProvider().Configuration["ConnectionString"]; return(url); }
// Configure (add) services to the IoC container here, order does not matter public void ConfigureServices(IServiceCollection services) { var redisConfig = ConfigurationOptions.Parse("database:6379"); redisConfig.ConnectTimeout = 15000; redisConfig.ConnectRetry = 3; var redisConnection = ConnectionMultiplexer.Connect(redisConfig); services.AddSingleton <IConnectionMultiplexer>(redisConnection); var config = new Core.ConfigurationProvider().CreateConfiguration(); services.AddSingleton(config); Configuration = config; var logEventLevelSwitch = new LoggingProvider().ConvertStringToLoggingLevelSwitch(config[ApplicationConfigurationKeys.LogEventLevel]); var logger = new LoggingProvider().CreateLogger(config, logEventLevelSwitch, System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString(), System.Reflection.Assembly.GetEntryAssembly().GetName().ToString()); services.AddSingleton <ILogger>(logger); Logger = logger; services.AddCors(); var prometheusHttpFilter = new PrometheusHttpFilter(Logger); services.AddSingleton(prometheusHttpFilter); var microServiceRepository = new MicroServiceRepository(redisConnection); services.AddSingleton(microServiceRepository); var microServiceService = new MicroServiceService(microServiceRepository); services.AddSingleton(microServiceService); services.AddRouting(options => { options.LowercaseUrls = true; }); services.AddMvc().AddJsonOptions(options => { options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); }); }