来自控制台应用程序的ravendb

时间:2010-12-01 16:33:02

标签: etl ravendb rhino-etl

我试图让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();
                }
            }

但仍然坚持开放。

1 个答案:

答案 0 :(得分:1)

实际上挂起在哪里?在OpenSession中使用什么方法?