15 August 2011 Embedded, HowTo, NoSQL, RavenDB Robert Muehsig

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:

image

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.

[ Democode @ Google Code ]


Written by Robert Muehsig

Software Developer - from Dresden, Germany, now living & working in Switzerland. Microsoft MVP & Web Geek.
Other Projects: KnowYourStack.com | ExpensiveMeeting | EinKofferVollerReisen.de

If you like the content and want to support me you could buy me a beer or a coffee via Litecoin or Bitcoin - thanks for reading!