In meinem Einstiegspost habe ich gezeigt, wie man relativ schnell mit RavenDB loslegen kann und auch die verschiedenen Deployment Arten aufgezeigt.
Eine davon war, RavenDB “in der Applikation” mit Laufen zu lassen – das hat den Vorteil, dass man keinen zusätzlichen Server braucht, selbst die Web-Admin-UI kann man aktivieren, daher ist der Einsatz in einer WebApp etwas “ungünstig”, da soll es bessere Möglichkeiten geben (später mehr dazu).
RavenDB als Embedded Version gib es auch als NuGet Package:
Der Code ist fast derselbe wie bei dem ersten Post, jedoch nutzen wir nun den Embedded Namespace samt dessen DocumentStore:
private static IDocumentStore CreateDocumentStore() { var documentStore = new EmbeddableDocumentStore { ConnectionStringName = "RavenDB" }.Initialize(); return documentStore; }
In der web.config ist folgendes hinterlegt:
<connectionStrings> <add name="RavenDB" connectionString="DataDir = ~\App_Data" /> </connectionStrings>
Achtung: Falls ihr den normalen DocumentStore nehmt, dann kommt folgende Fehlermeldung:
“RavenDB could not be parsed, unknown option: datadir” – daher darauf achten, ob es der Typ aus dem Embedded Bereich ist.
Die verschiedenen Arten der ConnectionStrings sind hier näher beschrieben. Das Ergebnis ist nun, dass alle File unter App_Data abgelegt werden, ohne dass ein zusätzlicher Dienst laufen muss.