2015-03-24 3 views
0

Sous Windows Server 2012 IIS 8 - Après avoir travaillé sur les paramètres web.config pour obtenir une application Web enfant ASP.Net 4.5 à exécuter dans un environnement Web application ASP.Net 3.5 parent, ils ont maintenant le même ID de session et obtenir les cookies OK, pourtant la session de l'enfant n'a pas de clés.Tentative d'accès à une session ASP.Net 3.5 parent à partir d'une application Web enfant dans Asp.Net 4.5

Semble que la session n'est pas partagée entre les deux pools d'applications.

Des idées pour contourner ce problème? BTW - assez difficile de modifier l'application Web parent ... Donc essayer de ne changer l'application de l'enfant

Pour clarifient - application web de l'enfant - tout simplement un sous-dossier dans la structure Web mère avec:

  • séparée IIS application mis en place avec pool d'applications .Net 4.5
  • web.config séparée

Répondre

0

OK Après avoir creusé encore trouvé ce n'est pas possible que le SessionState n'est pas compatible entre les versions, voir: Migrating web farm to runtime version 4 of asp.net while maintaining session

Mais nous avons trouvé une solution intéressante depuis la version .Net 3.5 utilisait Forms authentification basée nous pouvons avoir le « enfant » 4.5 .Net appliquer la même chose en utilisant le paramètre de configuration Web:

< machineKey compatibilityMode = » Framework20SP2" .../>

et obtenir le nom d'utilisateur authentifié:

HttpContext.Current.User.Identity.Name