2016-12-15 3 views
0

Meine Asp.net MVC 5-Webanwendung auf dem IIS-Server kann nicht mehrere Instanzen für verschiedene Kunden basierend auf dem Parameter URL-Anwendungsname laden. Mit anderen Worten, wir können zwei Anwendungen nicht gleichzeitig mit dem Anwendungsnamen in den verschiedenen Datenbanken anmelden.Aspnet mvc Multi-Tenant-Mehrfachinstanz Ausgabe

Ich setze den Anwendungslink den verschiedenen Anwendungsnamen als Parameter an den Controller übergeben und ihn verwenden, um eine dynamische Verbindung zu der anderen Datenbank mit demselben Schema für verschiedene Instanzen herzustellen. Ich verwende den Anwendungsnamen der ASP.NET-Mitgliedschaft, um die verschiedenen Instanzen im Controller zu identifizieren.

Zum Beispiel: Ich benutze verschiedene Browser, um sich nach zwei URLs mit dem gleichen Demo-Berechtigungsnachweis einzuloggen (Benutzername: user; password: pass), nur eine Instanz kann jedes Mal angezeigt werden. Ich kann beide anmelden und die vorherige Anmeldung aktualisieren. Sie wird zur späteren Anmelde-Instanz wechseln.

https://localhost.test.info/CM/Account/Login?app=c1

https://localhost.test.info/CM/Account/Login?app=c2

+0

Ich denke, Sie haben Benutzer in Bezug auf Ihre Browsersitzung hinter die Szene geschaltet und es schaltet beide Instanzen auf den aktuellen Benutzer. –

Antwort

0

erlebte ich ein Problem wie dieses, wenn ein Teil unseres Codes "statisch" Typen verwendet. IIS würde für jede Browsersitzung eine neue Instanz der Webanwendung erstellen, der statische Code wurde jedoch für alle Browser geteilt. Eine zweite Idee ist, dass der Benutzeridentitätscode keine Anwendungsvariable verwendet (im Gegensatz zu einer Sitzungsvariablen).

+0

Vielen Dank Codestever für Sie Vorschlag, aber ich habe keine statischen Typ oder Anwendungsvariablen verwendet. – Shailendra

+0

Hey Codestever, du hattest Recht, da waren einige statische Typen. Ich benutze Aspnet-Mitgliedschaft, die statische Eigenschaften hat, z. statischer Anwendungsname https://msdn.microsoft.com/en-us/library/system.web.security.membership.applicationname(v=vs.110).aspx – Shailendra

Verwandte Themen