Question

Nous avons un vaste site de ASP classique, et nous cherchons à mettre à niveau vers ASP .Net (très probablement la dernière version). Il est évident que la mise à niveau de toutes les pages serait à la fois une tâche Léviathan, donc nous ne cherchent à écrire de nouvelles pages (et réécritures page) en ASP .Net dans un premier temps.

Il y a deux obstacles à le faire:

  1. Je ne sais pas comment accéder aux données de session ASP classique en ASP .Net. Cela ne doit être mis en place une fois, car il est jamais modifié par toute autre page que la page de connexion. Je préférerais avoir à faire des changements minimes à la page de connexion ASP classique, mais c'est seulement une petite préférence.

  2. Les sessions ASP .Net et ASP devrait délai d'attente en même temps, pour garder la différence de la version transparente.

Quelqu'un pourrait-il offrir de l'aide, s'il vous plaît?

Merci d'avance.

Était-ce utile?

La solution

Nous avons fait face à la même tâche (pas amusant). Depuis la session Asp.Net et session Asp ne peuvent être partagés, nous avons utilisé une combinaison de méthodes, chacun adapté à la situation.

  • Dans certains cas, nous avons utilisé les cookies au lieu de la session.
  • Dans d'autres, nous avons créé des formulaires affichant automatiquement de sorte que si les informations de la session de l'utilisateur a été créé dans une page ASP classique, après les informations de session a été réglée, nous redirigés vers une page Asp.Net qui a lu dans les paramètres de chaîne de requête et utilisé ceux pour définir les mêmes variables de session pour Asp.Net. Puis, une fois la page Asp.Net définir les mêmes variables, cette page a une redirection vers quelle page la page de connexion d'origine a précédemment. Le même travaillé dans le sens inverse.

Ainsi, dans le second scénario, aurait changé un flux d'exemple de:

  

L'utilisateur tente d'accéder à certaines protégées   Contenu de la page -> redirigée pour ouvrir une session   page -> journaux en -> Séance d'information ensemble   basé sur le succès de connexion -> redirigé   Retour à la page du contenu.

à

  

L'utilisateur tente d'accéder à certaines protégées   Contenu de la page -> redirigée pour ouvrir une session   page -> journaux en -> Séance d'information ensemble   basé sur le succès de connexion -> redirigé   à une page .net, en passant le long de la connexion   , etc. - credentials> Séries page ASPX   information de la session, puis immédiatement   réoriente retour à la page du contenu.

Nous savions qu'il était un hack, mais cela a fonctionné à court terme jusqu'à ce que nous pourrions obtenir des sites tous convertis.

Autres conseils

Il pourrait y avoir une meilleure façon de le faire en utilisant les nouveaux paramètres IIS (dois admettre que je ne l'ai pas gardé à jour sur ce nouveau goodies IIS7 peut faire). Mais vous pourriez faire un XMLRequest à partir de votre page de connexion ASP à une page ASP.Net. Vous pouvez soit passer par les paramètres dont vous avez besoin dans les données ou avoir la poste page .net remplir les données de session elle-même si la logique est assez simple. La page .net alors vous renvoyer un identifiant de session .net dans le cookie, vous devez configurer dans la collection ASP utilisateurs des cookies afin que l'utilisateur a à la fois un .net et classique cookie de session ASP.

Ce serait le faire.

Je mis en œuvre ce il y a quelques années en utilisant une base de données.

Microsoft ont une jolie bon article sur elle, même si elle est un peu vieux à ce moment.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top