Ejemplo n.º 1
0
        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()) { }
        }