Session de partage de l'état entre les 2 ASP.NET applications à l'aide de SQL Server
Je travaille sur un site qui a une exigence à la session de partage entre une application de gestion et un magasin en ligne de l'application sur le même domaine, par exemple.
mydomain.com
et
store.mydomain.com
J'ai fait quelques progrès avec elle et elle fonctionne sur ma construction locale entre
localhost/cms
et
localhost/store
Au fond, j'ai fait ce qui est suggéré dans cet article
et piraté le TempGetAppID Procédure Stockée pour retourner le même id d'application (1). Cela semble fonctionner car elle crée des séances avec des id like 'abv5d2urx1asscfwuzw3wp4500000001", qui est ce à quoi je m'attends.
Mon problème est que lorsque je le déployer à notre environnement de test, il crée une nouvelle session lorsque je navigue entre les 2 sites. Donc, quand je démarre une session sur le cms du site, si je peux naviguer dans le magasin, il crée une nouvelle session. Ces 2 sites différents dans IIS7.
Dans le web.les fichiers de configuration pour les deux sites, et les éléments qui sont à la fois les mêmes et sont comme suit (moins d'informations sensibles)
Quiconque a un idées de pourquoi cela ne fonctionne pas? Je partage Formes d'Authentification entre les 2 sites et qui fonctionne très bien. De l'aide ou des idées serait grandement apprécié!
Merci beaucoup
Dave
OriginalL'auteur Dave | 2010-03-08
Vous devez vous connecter pour publier un commentaire.
Il semble que le problème que nous avions était que le cookie de session de domaine était en train d'être définies différemment sur les 2 applications. Cela signifie que chaque application a généré son propre id de session.
Nous avons ajouté
<httpCookies domain=".ourdomain.co.uk" />
à notre site web.config et qui semble avoir résolu. Merci pour hte aider, espérons que cela aide quelqu'un d'autre dans l'avenir.
OriginalL'auteur Dave
Persister toutes les données de session sur SQL-server, à l'aide de la session-ID comme clé. Puis utiliser un cookie contenant de la session, l'ID que des points de
.mydomain.com
de sorte qu'il sera disponible sur les deux sous-domaines.Ce article 15 secondes couvre le sujet et montre même une technique à partager à travers des séances de domaines totalement différents.
Merci, mais c'est spécifique à l'asp classique. Je suis sûr qu'il ya quelques façons d'y parvenir dans asp.net sans avoir à obtenir l'session à partir d'un cookie. Cependant, si je me trompe, je vais certainement essayer de mettre en place quelque chose de ce genre sur mon asp.net projet.
Grâce nissan fan je vais jeter un oeil à ça.
Oui, l'article n'est pas sur les sessions en particulier, désolé... l'Utilisation de la session-id stocké dans un cookie, vous pouvez accéder à la session de données qui sont conservées sur le SQL-Server à partir de deux applications. Une session est rien de plus que les données stockées sur le serveur qui est lié à un client identifié à l'aide d'un cookie de session. La manipulation des cookies est fait de la même façon avec .Net comme avec l'ASP classique, sauf que vous n'avez pas à écrire maladroit VBScript 🙂 Peut-être il y a une solution plus élégante pour cela, si vous en trouver un s'il vous plaît laissez-nous savoir.
OriginalL'auteur Vinz