// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { Logger.LogInformation("Calling Startup.ConfigureServices"); services.AddControllers().AddNewtonsoftJson(); HashSet <string> sources = Settings.Current.GetResultSourcesAsync(Logger).Result; Logger.LogInformation($"Result sources defined:{Environment.NewLine} {string.Join(Environment.NewLine + Enumerable.Repeat(" ", 5), sources)}"); IStoreProvider storeProvider; try { IDbStoreProvider dbStoreprovider = DbStoreProvider.Create( new RocksDbOptionsProvider( new SystemEnvironment(), Settings.Current.OptimizeForPerformance, Option.None <ulong>(), Option.None <ulong>(), Option.None <int>(), Option.None <StorageLogLevel>()), this.GetStoragePath(Settings.Current.StoragePath), sources); storeProvider = new StoreProvider(dbStoreprovider); } catch (Exception ex) when(!ExceptionEx.IsFatal(ex)) { Logger.LogError(ex, "Error creating RocksDB store. Falling back to in-memory store."); storeProvider = new StoreProvider(new InMemoryDbStoreProvider()); } services.AddSingleton <ITestOperationResultStorage>( TestOperationResultStorage.CreateAsync( storeProvider, sources).Result); Settings.Current.TestResultReportingServiceSettings.ForEach(() => services.AddHostedService <TestResultReportingService>()); Settings.Current.TestResultEventReceivingServiceSettings.ForEach(() => services.AddHostedService <TestResultEventReceivingService>()); Logger.LogInformation("Calling Startup.ConfigureServices Completed."); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { Logger.LogInformation("Calling Startup.ConfigureServices"); services.AddMvc(); IStoreProvider storeProvider; try { IDbStoreProvider dbStoreprovider = DbStoreProvider.Create( new RocksDbOptionsProvider( new SystemEnvironment(), Settings.Current.OptimizeForPerformance, Option.None <ulong>()), this.GetStoragePath(Settings.Current.StoragePath), Settings.Current.GetResultSources()); storeProvider = new StoreProvider(dbStoreprovider); } catch (Exception ex) when(!ExceptionEx.IsFatal(ex)) { Logger.LogError(ex, "Error creating RocksDB store. Falling back to in-memory store."); storeProvider = new StoreProvider(new InMemoryDbStoreProvider()); } services.AddSingleton <ITestOperationResultStorage>( TestOperationResultStorage.CreateAsync( storeProvider, Settings.Current.GetResultSources()).Result); services.AddHostedService <TestResultReportingService>(); services.AddHostedService <TestResultEventReceivingService>(); Logger.LogInformation("Calling Startup.ConfigureServices Completed."); }