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

Traductions disponibles Traductions disponibles
Numéro d'article: 178037 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F178037
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Agrandir tout | Réduire tout

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

Numéro d'article: 178037 - Dernière mise à jour: lundi 4 octobre 2004 - Version: 4.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • 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
Mots-clés : 
kbscript kbcodesnippet kbaspobj kbprb KB178037
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com