15

我正在使用RavenDB-Embedded.1.0.499在 Visual Studio 2010 中通过 NuGet 安装的嵌入式 RavenDB => 包。它在我阅读这篇出色的 MSDN 文章后开始的当前项目中使用:

将 RavenDB 嵌入到 ASP.NET MVC 3 应用程序中

现在我想访问RavenDB Management Studio (Web UI)。

我按照这里描述的步骤操作:Is it possible to connect to an embedded DB with Raven Management Studio和这里Running RavenDB in embedded mode with 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.ConfigurationdocumentStore.DocumentDatabase. 我设法找到Raven.Database.Server.HttpServer了,但_documentStore.

所以,问题是:

如何点击 Web UI 来可视化我的嵌入式数据库文档?我应该在浏览器地址栏中输入什么 URL?

任何建议表示赞赏。

编辑:我找到了一种让它工作的方法。正如我在博客文章中所描述的,它可能不是最好的方法,但它确实有效:

嵌入了 Management Studio UI 的 RavenDB

注意:上述方法的一个缺点是我无法访问我的应用程序中的数据库,因为一旦它被服务器打开它就会被锁定。这样我必须停止服务器,然后在浏览器中重新加载我的应用程序。

我希望 RavenDB 的大师们有更好/正确的方法……让我们知道。

4

1 回答 1

12

我从来不需要手动运行服务器来访问管理工作室。我通常会在您的问题中提到的唯一几个步骤:

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

复制Raven.Studio.xap到我的 Web 项目的根文件夹中。

当我的 Web 应用程序运行时,可以通过http://localhost:8080访问 RavenDB Management Studio 。

于 2011-11-13T23:53:01.593 回答