Je sais que c'est une question simple, mais je n'arrive pas à la faire glisser hors du bruit de Google. Je sais que .NET peut utiliser un service d'état de session ou une base de données SQL pour sauvegarder son état de session, mais je ne sais pas si ASP propose des options hors processus pour le stocker. En at-il, ou suis-je bloqué avec la perte de variables de session sur les applications ASP lorsqu'un serveur à charge équilibrée est mis hors ligne?Est-ce que le processus in-process est la seule façon dont ASP classique peut stocker l'état de la session?
Répondre
Oui, seulement dans la mémoire
De MSDN Full Article
ASP mise en œuvre
La session ASP native peut uniquement les données de session de stocker en mémoire. Pour stocker les données de session sur SQL Server, un objet COM Microsoft® Visual Basic® 6.0 personnalisé est écrit pour gérer l'état de session au lieu d'utiliser l'objet de session natif. Cet objet COM sera instancié au début de chaque requête Web et recharger les données de session à partir de SQL Server. Lorsque le script ASP est terminé, cet objet sera terminé et l'état de la session sera conservé à SQL Server. Le but principal de l'objet Session COM Visual Basic 6 est de fournir un accès aux objets intrinsèques de Microsoft® Internet Information Server. L'objet Session COM Visual Basic 6.0 utilise la classe mySession d'assembly SessionUtility pour contenir l'état de session et la classe SessionPersistence de SessionUtility pour charger et enregistrer des données de session avec SQL Server. Les classes mySession et SessionPersistence sont exposées en tant qu'objets COM à l'aide de l'utilitaire regasm.exe. L'utilitaire regasm.exe peut s'enregistrer et créer une bibliothèque de types pour que le client COM utilise des classes Framework. Les informations sur l'état de la session sont rechargées pendant la construction de l'objet
Le constructeur (class_initialize) récupère d'abord le cookie de session, le timeout de session (SessionTimeOut) et la chaîne de connexion à la base de données (SessionDSN) de l'objet Application et crée une instance de la classe mySession pour contenir les données de session. Ensuite, le constructeur essayera de recharger les données de session à partir de SQL Server avec le cookie donné. Si le serveur SQL n'a pas les informations de session ou si la session a expiré, un nouveau cookie sera émis. Si le serveur SQL renvoie avec les données d'état de session, l'état de session sera stocké dans l'objet mySession.
Rien d'autre n'est intégré, même si dans ASP Classic, il est assez facile de créer votre propre système de gestion de session. forme la plus simple étant une table dans une base comme ce qui suit:
SessionID int PK, champs de texte, texte Valeurs, Expires DateTime
Venez avec une sorte de codeur CSV/décodeur pour les champs et les valeurs et remplir une collection sur chaque page. Puis enregistrez-le une fois la page exécutée et mettez à jour l'heure d'expiration. Ensuite, demandez à un cookie de suivre l'ID de session ou de le transmettre dans la chaîne de requête.
- 1. Partage de la session ASP sur le répertoire virtuel
- 2. Classique ASP Store objets dans l'objet de session
- 3. Appel de la procédure stockée sur la page ASP classique
- 4. global.asax et ASP classique?
- 5. Meilleure façon d'exécuter une longue requête DB dans ASP classique?
- 6. Authentification ASP et ASP.Net classique
- 7. Stocker le dictionnaire <String, String> dans Session (.NET)
- 8. Est-ce la seule façon de forcer ObjectDataSource à ...?
- 9. Comment vérifier si la session asp est valide?
- 10. services web CONSOMMER asp classique
- 11. System.Net.HttpWebRequest sous ASP classique?
- 12. Impossible d'écrire le fichier en ASP classique
- 13. Cours accéléré ASP classique
- 14. Cookie.HTTPOnly dans ASP classique
- 15. Quelqu'un at-il entendu parler de la façon dont .NET 4.0 peut modifier/affecter Asp.net MVC?
- 16. get_included_files dans ASP classique?
- 17. Exemples de curseurs JQuery avec ASP classique?
- 18. détecter Server.Transfer dans ASP classique
- 19. Tableau d'octets dans ASP classique
- 20. Quelle est la meilleure façon de stocker les valeurs de configuration pour plusieurs dizaines de colonnes?
- 21. Classique ASP/IIS6: Comment rechercher la carte mime du serveur?
- 22. Comment changer la façon dont un contrôle utilisateur est glissé et déposé dans le volet source
- 23. ASP classique, ASP.NET, IFrames et le fichier response.redirect
- 24. Code ASP classique sous Linux
- 25. Besoin d'aide avec la syntaxe onclick dans l'environnement ASP classique
- 26. Quelle est la meilleure façon de stocker la configuration spécifique à l'application dans les rails?
- 27. Comment détecter la résolution d'écran dans (classique) ASP
- 28. La page est-elle la seule à revenir sur Fiddler?
- 29. Quelle est la meilleure façon de stocker l'ordre entre les lignes de la base de données?
- 30. à la recherche de tutoriels de gestion de session ASP
Excellente trouvaille, merci beaucoup! – Chris
Vous ne savez pas pourquoi l'objet COM doit être écrit dans Visual Basic 6.0, il peut s'agir de toute langue tant que le résultat est un objet COM qui peut être appelé par un langage de script utilisé dans ASP. – AnthonyWJones