2010-12-01 4 views
1

J'essaye d'obtenir que le corbeau travaille dans une console de rhino.etl pour importer la date de sql au corbeau.ravendb à partir de l'application console

J'ai un 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(); 
     } 
    } 

Cependant - quand je l'appelle _documentSession.OpenSession() l'application est pendante.

Y a-t-il quelque chose que je dois spécifier pour l'environnement de l'application console? Il ne cesse de dire que le délai est expiré - mais l'URL de la configuration est localhost: 8080, ce qui est correct?

je l'ai changé pour utiliser maintenant:

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(); 
       } 
      } 

mais toujours accroché OpenSession.

Répondre

1

Où le blocage se produit-il réellement? Dans quelle méthode à l'intérieur d'OpenSession?

+0

J'utilise un dll ref -comment puis-je obtenir cette information sans lien avec les sources? – iwayneo

+0

mis à jour pour la dernière construction et tout est tic-tac boom :) – iwayneo

Questions connexes