Freigabe des Sitzungsstatus zwischen zwei ASP.NET-Anwendungen mit SQL Server

8

Ich arbeite an einer Site, die eine Session zwischen einer CMS-Anwendung und einer Online-Store-Anwendung auf derselben Domain teilen muss, zB

%Vor%

und

%Vor%

Ich habe damit Fortschritte gemacht und es funktioniert auf meinem lokalen Build zwischen

%Vor%

und

%Vor%

Grundsätzlich habe ich getan, was in diesem Artikel vorgeschlagen wird

Ссылка

und hat die gespeicherte Prozedur TempGetAppID gehackt, um dieselbe Anwendungs-ID (1) zurückzugeben. Dies scheint zu funktionieren, da es Sitzungen mit IDs wie 'abv5d2urx1asscfwuzw3wp4500000001' erstellt, was ich erwarten würde.

Mein Problem besteht darin, dass es bei der Bereitstellung in unserer Testumgebung eine neue Sitzung erstellt, wenn ich zwischen den beiden Sites navigiere. Wenn ich also eine Sitzung auf der CMS-Site starte, wenn ich zum Store navigiere, wird eine neue Sitzung erstellt. Diese sind als 2 verschiedene Websites in IIS7 eingerichtet.

In den web.config-Dateien für beide Sites sind die Elemente und identisch und lauten wie folgt (abzüglich vertraulicher Informationen):

Hat jemand eine Idee, warum das vielleicht nicht funktioniert? Ich teile die Formularauthentifizierung für beide Seiten und das funktioniert einwandfrei. Jede Hilfe oder Ideen würde sehr geschätzt werden!

Vielen Dank

Dave

    
Dave 08.03.2010, 16:23
quelle

2 Antworten

7

Das Problem, das wir hatten, war, dass die Sitzungscookie-Domain in den beiden Anwendungen unterschiedlich gesetzt wurde. Dies bedeutete, dass jede Anwendung ihre eigene sessionId erzeugte.

Wir haben hinzugefügt %Code% zu unserer web.config und das scheint es gelöst zu haben. Danke für die Hilfe, hoffe das hilft jemand anderem in der Zukunft.

    
Dave 17.03.2010, 10:37
quelle
6

Behalten Sie alle Sitzungsdaten auf dem SQL-Server mit der Sitzungs-ID als Schlüssel bei. Verwenden Sie dann ein Cookie mit der Sitzungs-ID, die auf .mydomain.com verweist, damit es in beiden Unterdomänen verfügbar ist.

Dieser Artikel mit 15 Sekunden deckt das Thema ab und zeigt sogar eine Technik zum Teilen von Sitzungen über völlig unterschiedliche Domains.

    
Vinz 08.03.2010 17:33
quelle