Wie man Multitenancy innerhalb einer mvc 3 Anwendung mit ravendb einrichtet

8

Wir haben eine mvc3-Anwendung mit RavenDb auf folgende Weise eingerichtet (mit Hilfe von NoSql mit RavenDb und Asp.net MVC ):

Der folgende Code ist in der Global.asax

%Vor%

Wir möchten nun die Anwendung so einrichten, dass sie Multitenancy unterstützt. Wir möchten zwei Dokumentendateien haben: einen für allgemeine Zwecke, die Systemdatenbank und einen für den aktuellen (eingeloggten) tennant.

Wie gehen wir nach unserem derzeitigen Setup vor?

Bearbeiten : Wir haben unsere Anwendung jetzt wie folgt konfiguriert:

Wir haben OpenSession(tenantid) zu BeginRequest im selben documentStore hinzugefügt (danke an die Antwort von Ayende)

%Vor%

Da wir Ninject für DI verwenden, haben wir die folgenden Bindungen hinzugefügt, um sicherzustellen, dass wir die richtige Sitzung verwenden:

%Vor%

Vielleicht gibt es eine bessere Möglichkeit, Multi-Tenancy mit ravendb und mvc zu konfigurieren?

    
Andrew Flierman 01.03.2012, 13:24
quelle

1 Antwort

5

AndrewF,

Sie werden dann zwei Sitzungen haben. Eines ist die Defaults ( OpenSession() ) und das andere ist für den Mieter ( OpenSession(TenantId) )

    
Ayende Rahien 01.03.2012, 14:03
quelle