J'ai beaucoup lu sur le sujet, mais je n'ai pas la solution. J'ai essayé toutes les solutions proposées par la communauté, mais pas le succès.Variable de session ASP perdue IIS 6.0 à 7.5
Je migre un site d'IIS 6.0 à 7.5. Le site dispose d'applications ASP et ASP.NET, donc j'ai défini deux pools différents. Les applications ASP.NET fonctionnent sans problèmes.
Où j'ai les problèmes est avec les applications ASP. Toutes les applications ASP utilisent une autre application dont l'objectif est d'accorder à l'utilisateur. Le problème se produit lorsque l'application utilisateur qui accorde l'autorisation crée une variable session ("accepted")
et qu'elle est perdue lors de la redirection. Cette fonctionnalité fonctionnait dans IIS 6.0
J'ai corrigé le problème et confirmé que l'erreur survient lors de la redirection.
Ce que j'ai essayé et vérifié pour résoudre le problème:
Propriétés de la session
- Activer l'état de session = true
- Time-out: 00:20:00
- Paramètres de mode: En cours
- Paramètres de cookies = Utiliser des cookies
- Utiliser l'identité d'hébergement forme usurpation d'identité = vérifié
Port pour accéder au site:: 8685
- J'ai aussi vérifié le jardinage Web et ce n'est pas activé comme il n'y a que 1 processus de travail ensemble.
Je joins l'écran capture je considère pertinentes
J'ai codé une page ASP qui affiche le contenu des variables de session. Avant de rediriger, la variable de session est correctement créée, mais lorsque la redirection a lieu, les informations sont perdues.
Je joins le code ma politique d'entreprise m'a laissé à poster:
response.write("Accepted: " & session("aceptado") & "<br>")
response.write ("SQL: " & mySQL & "<br>")
response.write("Accepted: " & session("aceptado") & "<br>")
dim i,j
j = Session.Contents.Count
Response.Write("Session contents: " & j & "<br>")
Response.Write("Contents: <br>")
For Each i in Session.Contents
Response.Write(i & "<br>")
Next
Response.write("isNull: " & IsNull(Session) & "<br>")
Response.write("¿Aceptado? " & Session("aceptado"))
Avec le code ci-dessus, le résultat est:
Le code pour vérifier l'état de la session une fois que la la redirection a lieu est:
<%response.buffer = true
%>
<html>
<h1>test</h1>
<%
dim i,j
j = Session.Contents.Count
Response.Write("Session contents: " & j & "<br>")
Response.Write("Contents: <br>")
For Each i in Session.Contents
Response.Write(i & "<br>")
Next
%>
isNull: <%=IsNull(Session)%> <br>
¿Aceptado?: <%=Session("aceptado")%><br>
incidencia : <%=Session("tipoincidencia")%><br>
usuario : <%=Session("usuario")%>
</html>
Le résu Elle exécution du code ci-dessus:
La redirection a lieu entre les deux dernières images
Les propriétés 'Session State' n'ont absolument aucune incidence sur l'état de la session ASP classique. Il est spécifique à ASP.Net * (c'est pourquoi dans IIS 7 et au-dessus, il se trouve dans la section ASP.Net). On dirait que dans les propriétés de la session ASP «Nouvel ID sur la connexion sécurisée» est défini sur «True», la redirection passe-t-elle le protocole HTTP à HTTPS peut-être? Voir [bizarrerie de session ASP classique entre HTTP et HTTPS] (http://stackoverflow.com/a/23266202/692942). – Lankymart
Aucun protocole de commutation HTTP vers HTTPS n'a lieu. J'ai essayé de changer le 'Nouvel ID sur la connexion sécurisée' en Faux mais il n'y a pas de différence – Carlos
Appréciez toutes les captures d'écran que vous avez fournies mais sans aucun code * (spécifiquement où la redirection est appelée) * ne peut plus aider. – Lankymart