PROBLÈME : Les variables de session sont perdues lorsque des pages ASP se trouvent dans un jeu de cadres

Ancien nº de publication de cet article : F178037
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Symptômes
Les variables de session définies dans une page ASP (Active Server Page) sont vides lorsque vous essayez d'y accéder depuis d'autres pages ASP à l'intérieur d'un jeu de cadres.
Cause
Internet Explorer 4.x et 5 ne peuvent pas héberger les différents cadres d'un jeu de cadres au cours du même processus. Les sessions ASP étant dépendantes d'un cookie résidant dans la mémoire du processus hébergé, différents processus produisent des cookies de session différents, et par conséquent des sessions différentes.
Résolution
Si votre application doit prendre en charge Internet Explorer 4.x ou Internet Explorer 5, vous devez alors remplacer les variables de session par des cookies. Assurez-vous que les cookies possèdent une date d'expiration. Cela a pour effet d'écrire le cookie sur le disque. Quel que soit le processus dans lequel le cadre est hébergé, tous les cadres récupèrent les informations du cookie à partir du même emplacement sur le disque.

Par exemple, remplacez le code suivant :
  Session("MyVariable") = "MyValue"				
par :
  Response.Cookies("MyVariable") = "MyValue"  Response.Cookies("MyVariable").Expires = Now() + 1 '24 hours				
Notez que les cookies doivent être écrits avant que toute sortie soit diffusée en continu vers le navigateur. Vous pouvez également avoir besoin d'activer la mise en cache de la sortie sur votre page avec le code suivant :
<%@ Language=VBScript %><%Response.Buffer = True%>				
La mise en cache de la sortie des pages ASP des services Internet (IIS) 5.0 est activée par défaut. Ce n'est pas le cas pour les pages ASP des services Internet (IIS) 4.0.

REMARQUE : ce problème a été résolu dans Internet Explorer 5.5.
Références
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
196383 BOGUE : Les fenêtres ouvertes par un script perdent l'authentification ou la session
Propriétés

ID d'article : 178037 - Dernière mise à jour : 10/04/2004 14:51:00 - Révision : 4.0

Microsoft Active Server Pages 4.0, Microsoft Internet Information Server 4.0, Microsoft Internet Information Services 5.0, Microsoft Internet Explorer 4.0 Édition 128 bits, Microsoft Internet Explorer 4.01 Service Pack 2, Microsoft Internet Explorer 4.01 Service Pack 1, Microsoft Internet Explorer 4.01 Service Pack 2, Microsoft Internet Explorer 5.0

  • kbscript kbcodesnippet kbaspobj kbprb KB178037
Commentaires