Sto giocando con un pacchetto RavenDB incorporato>>RavenDB-Embedded.1.0.499
installato tramite NuGet in Visual Studio 2010. Viene utilizzato in un progetto corrente che ho avviato dopo aver letto questo eccellente articolo MSDN:Esecuzione di RavenDB come EmbeddableDocumentStore e accesso a RavenDB Management Studio
Embedding RavenDB into an ASP.NET MVC 3 Application
Ora vorrei accedere al RavenDB Management Studio (Web UI).
Ho seguito i passaggi descritti qui: Is it possible to connect to an embedded DB with Raven Management Studio e qui Running RavenDB in embedded mode with HTTP enabled ma non ho capito il punto.
Questo è il codice che sto usando per inizializzare il DocumentStore
:
_documentStore = new EmbeddableDocumentStore
{
ConnectionStringName = "RavenDB",
UseEmbeddedHttpServer = true
};
e questo è il ConnectionString
presente in Web.config
:
<add name="RavenDB" connectionString="DataDir = ~\App_Data\Database" />
Ho letto anche le operazioni descritte nel RavenDB: Embedded Mode. Ho cercato di avviare il server manualmente:
// Start the HTTP server manually
var server = new RavenDbHttpServer(documentStore.Configuration,
documentStore.DocumentDatabase);
server.Start();
ma il codice di cui sopra sembra superata poiché non ho RavenDbHttpServer
, documentStore.Configuration
e documentStore.DocumentDatabase
. Sono riuscito a trovare Raven.Database.Server.HttpServer
ma gli altri oggetti mancano nello _documentStore
.
Quindi, la domanda è:
Come posso colpire l'interfaccia utente Web di visualizzare i miei documenti di database incorporati? Qual è l'URL che dovrei inserire nella barra degli indirizzi del mio browser?
Qualsiasi consiglio è apprezzato.
MODIFICA: Ho trovato un modo per farlo funzionare. Come ho descritto nel mio post sul blog, non può essere l'approccio migliore, ma funziona:
RavenDB Embedded with Management Studio UI
Nota: uno svantaggio dell'approccio di cui sopra è che io non sono in grado di accedere al database nella mia app perché una volta che è stato aperto dal server viene bloccato. In questo modo devo fermare il server e ricaricare la mia app nel browser.
Spero che i guru di RavenDB abbiano un approccio migliore/corretto ... fatecelo sapere.
OMG: questo è strano ... avevo provato http: // localhost: 8080 ma inizialmente non funzionava. Ora l'ho fatto funzionare anche senza aggiungere 'GuaranteCanListenToWhenInNonAdminContext'. Vai a capire. Penso di avere un altro servizio in esecuzione sulla porta 8080 al primo tentativo ... Grazie John! –
Funziona, ma se eseguo il debug di un test di unità, interrompe l'esecuzione del server HTTP, quindi non posso utilizzarlo a meno che non esegua il debug, il che significa che non riesco a eseguire il debug dei test e visualizzare lo studio, il che significa che è inutile. c'è un modo per evitarlo? – kamranicus