Запуск RavenDB как EmbeddableDocumentStore и доступ к RavenDB Management Studio

Я играю со встроенным пакетом RavenDB = > RavenDB-Embedded.1.0.499, установленным через NuGet в Visual Studio 2010. Он используется в текущем проекте, который я начал после прочтения этой превосходной статьи MSDN:

Внедрение RavenDB в приложение ASP.NET MVC 3

Теперь я хотел бы получить доступ к RavenDB Management Studio (веб-интерфейс).

Я выполнил следующие шаги: Возможно ли подключиться к встроенной базе данных с Raven Management Studio и здесь Запуск RavenDB во встроенном режиме с поддержкой HTTP, но я не понял.

Это код, который я использую для инициализации DocumentStore:

_documentStore = new EmbeddableDocumentStore
            {
                ConnectionStringName = "RavenDB",
                UseEmbeddedHttpServer = true
            };

и это ConnectionString присутствует в Web.config:

<add name="RavenDB" connectionString="DataDir = ~\App_Data\Database" />

Я также прочитал шаги, описанные в RavenDB: Embedded Mode. Я попытался запустить сервер вручную:

// Start the HTTP server manually
var server = new RavenDbHttpServer(documentStore.Configuration,
documentStore.DocumentDatabase);

server.Start();

но приведенный выше код кажется устаревшим, поскольку у меня нет RavenDbHttpServer, documentStore.Configuration и documentStore.DocumentDatabase. Мне удалось найти Raven.Database.Server.HttpServer, но другие объекты отсутствуют в _documentStore.

Итак, вопрос:

Как я могу попасть в веб-интерфейс для визуализации моих встроенных документов базы данных? Какой URL я должен поместить в адресную строку браузера?

Любые советы приветствуются.

EDIT: Я нашел способ заставить его работать. Как я описал в своем сообщении в блоге, это может быть не лучший подход, но он работает:

RavenDB встроен с интерфейсом Management Studio

Примечание. Недостатком описанного выше подхода является то, что я не могу получить доступ к базе данных в моем приложении, потому что, как только он был открыт сервером, он блокируется. Таким образом, я должен остановить сервер, а затем перезагрузить приложение в браузере.

Я надеюсь, что у гуру RavenDB есть лучший/правильный подход... просто дайте нам знать.

Ответы

Ответ 1

Мне никогда не приходилось запускать сервер вручную, чтобы получить доступ к студии управления. Только несколько шагов, которые не были упомянуты в вашем вопросе, который я обычно делаю:

// Add the following line prior to calling documentStore.Initialize()
Raven.Database.Server.NonAdminHttp.EnsureCanListenToWhenInNonAdminContext(8080);

Скопируйте Raven.Studio.xap в корневую папку моего веб-проекта.

Когда мое веб-приложение запущено, RavenDB Management Studio затем доступен в http://localhost:8080.