Запуск 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 я должен указать в адресной строке браузера?

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

РЕДАКТИРОВАТЬ: Я нашел способ заставить его работать. Как я описал в своем блоге, это может быть не лучшим подходом, но он работает:

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/.

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