ravendb из консольного приложения

Я пытаюсь заставить raven работать в консоли rhino.etl для импорта даты из sql в raven.

У меня есть RavenInstaller:

public class RavenInstaller : IWindsorInstaller
    {
        public void Install(IWindsorContainer container, IConfigurationStore store)
        {
            container.Register(
                Component.For<IDocumentStore>().ImplementedBy<DocumentStore>()
                    .DependsOn(new { connectionStringName = "SomeRavenConnectionString" })
                    .OnCreate(DoInitialisation)
                    .LifeStyle.Singleton
                );
        }

        static IDocumentSession GetDocumentSesssion(IKernel kernel)
        {
            var store = kernel.Resolve<IDocumentStore>();
            return store.OpenSession();
        }

        public static void DoInitialisation(IKernel kernel, IDocumentStore store)
        {
            store.Initialize();
        }
    }

Однако - когда я вызываю _documentSession.OpenSession(), приложение просто зависает.

Что-то мне нужно указать для среды консольного приложения? Он все время говорит, что время истекло - но URL-адрес в конфигурации - localhost:8080, что правильно?

я изменил его, чтобы теперь использовать:

using (var documentStore = new DocumentStore { Url = "http://localhost:8080" })
            {
                documentStore.Initialize();
                using (var session = documentStore.OpenSession())
                {
                    var mp = _container.Resolve<MainProcess>();
                    mp.DocumentSession = session;
                    mp.Execute();
                }
            }

но все еще висит на opensession.

1 ответ

Решение

Где на самом деле происходит зависание? В каком методе внутри OpenSession?

Другие вопросы по тегам