Tôi đang chơi với gói RavenDB =>RavenDB-Embedded.1.0.499
được cài đặt qua NuGet trong Visual Studio 2010. Nó đang được sử dụng trong một dự án hiện tại mà tôi bắt đầu sau khi đọc bài viết MSDN xuất sắc này:Chạy RavenDB như là một EmbeddableDocumentStore và truy cập RavenDB Management Studio
Embedding RavenDB into an ASP.NET MVC 3 Application
Bây giờ tôi muốn truy cập vào RavenDB Management Studio (Web UI).
Tôi đã làm theo các bước được mô tả tại đây: Is it possible to connect to an embedded DB with Raven Management Studio và tại đây Running RavenDB in embedded mode with HTTP enabled nhưng tôi không nhận được điểm.
Đây là mã tôi đang sử dụng để khởi tạo DocumentStore
:
_documentStore = new EmbeddableDocumentStore
{
ConnectionStringName = "RavenDB",
UseEmbeddedHttpServer = true
};
và đây là ConnectionString
hiện diện trong Web.config
:
<add name="RavenDB" connectionString="DataDir = ~\App_Data\Database" />
Tôi cũng đọc các bước được mô tả trong RavenDB: Embedded Mode. Tôi cố gắng để khởi động server bằng tay:
// Start the HTTP server manually
var server = new RavenDbHttpServer(documentStore.Configuration,
documentStore.DocumentDatabase);
server.Start();
nhưng mã trên có vẻ lỗi thời kể từ khi tôi không có RavenDbHttpServer
, documentStore.Configuration
và documentStore.DocumentDatabase
. Tôi đã tìm thấy Raven.Database.Server.HttpServer
nhưng các đối tượng khác bị thiếu trong số _documentStore
.
Vì vậy, câu hỏi là:
Làm thế nào tôi có thể nhấn UI Web để hình dung tài liệu cơ sở dữ liệu nhúng của tôi? Tôi nên đặt URL vào thanh địa chỉ trình duyệt của mình là gì?
Bất kỳ lời khuyên nào được đánh giá cao.
CHỈNH SỬA: Tôi đã tìm được cách để nó hoạt động. Như tôi đã trình bày trong bài viết trên blog của tôi nó có thể không phải là phương pháp tốt nhất nhưng nó làm việc:
RavenDB Embedded with Management Studio UI
Lưu ý: một nhược điểm của cách tiếp cận trên là tôi không thể truy cập vào cơ sở dữ liệu trong ứng dụng của tôi bởi vì một khi nó đã được mở bởi máy chủ nó bị khóa. Bằng cách này tôi phải dừng máy chủ và sau đó tải lại ứng dụng của tôi trong trình duyệt.
Tôi hy vọng các chuyên gia của RavenDB có cách tiếp cận tốt hơn/đúng hơn ... chỉ cần cho chúng tôi biết.
OMG: điều này thật lạ ... Tôi đã thử http: // localhost: 8080 nhưng lúc đầu nó không hoạt động. Bây giờ tôi đã làm việc đó mà không cần thêm 'EnsureCanListenToWhenInNonAdminContext'. Đi con số. Tôi nghĩ rằng tôi đã có một dịch vụ khác chạy trên cổng 8080 vào lần thử đầu tiên ... Cảm ơn John! –
Điều này làm việc nhưng nếu tôi gỡ lỗi một bài kiểm tra đơn vị, nó dừng việc thực thi máy chủ HTTP để tôi không thể sử dụng nó trừ khi tôi không gỡ lỗi có nghĩa là tôi không thể gỡ lỗi các bài kiểm tra của mình và xem studio có nghĩa là vô dụng. Có cách nào để tránh điều này không? – kamranicus