static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder() .ConfigureServices((hostContext, services) => { var docStore = new RavenDocumentStoreFactory().CreateAndInitializeDocumentStore(RavenConfig.FromConfiguration(hostContext.Configuration)); services.AddSingleton(docStore); services.AddSingleton <INoSqlStore, DefensiveRavenDbProjectionsStore>(); services.AddSingleton <ISqlStore, DefensiveRavenDbProjectionsStore>(); services.AddTransient <IQueryById, QueryById>(); services.AddTransient <ICheckpointReader, RavenDbCheckpointReader>(); services.AddTransient <ICheckpointWriter, RavenDbCheckpointWriter>(); services.AddTransient <IHandlerFactory, DIHandlerFactory>(); services.AddTransient <ISubscriptionFactory, ESSubscriptionFactory>(); services.AddTransient <IProjectionsFactory, ProjectionsFactory>(); services.AddTransient <IJSProjectionsFactory, JSProjectionsFactory>(); RegisterProjectionHandlers(services); services.AddHostedService <ServiceInstance>(); }) .ConfigureHostConfiguration(configHost => { configHost.SetBasePath(Directory.GetCurrentDirectory()); configHost.AddJsonFile("appsettings.json", optional: false); configHost.AddEnvironmentVariables(prefix: "STARNET_"); configHost.AddCommandLine(args); });
public void CanConnectToServer() { var conf = new ConfigurationBuilder().AddJsonFile("appsettings.json", true, true).Build(); var rconf = RavenConfig.FromConfiguration(conf); var store = new RavenDocumentStoreFactory().CreateDocumentStore(rconf); using (var s = store.OpenSession()) { } }