Sé que es una pregunta simple, pero parece que no puedo sacarla del ruido de Google. Sé que .NET puede usar un servicio de estado de sesión o una base de datos SQL para respaldar su estado de sesión, pero no sé si ASP ofrece alguna opción fuera de proceso para almacenarla. ¿Tiene alguna, o estoy atascado con la pérdida de variables de sesión en aplicaciones ASP cuando un servidor con equilibrio de carga se desconecta?¿Está en proceso la única forma en que el ASP clásico puede almacenar el estado de la sesión?
Respuesta
Sí, sólo en la memoria
De MSDN Full Article
ASP Implementación
El nativo de sesiones ASP sólo puede almacenar datos de sesión en la memoria. Para almacenar los datos de la sesión en SQL Server, se escribe un objeto COM de Microsoft® Visual Basic® 6.0 personalizado para administrar el estado de la sesión en lugar de utilizar el objeto de sesión nativo. Este objeto COM se creará una instancia al comienzo de cada solicitud web y volverá a cargar los datos de sesión desde SQL Server. Cuando finalice el script ASP, este objeto finalizará y el estado de la sesión volverá a SQL Server.
El objetivo principal del objeto de sesión COM de Visual Basic 6 es proporcionar acceso a los objetos intrínsecos del Microsoft Internet Information Server. El objeto de sesión COM de Visual Basic 6.0 utiliza la clase mySession del ensamblado SessionUtility para contener el estado de la sesión y la clase SessionPersistence de SessionUtility para cargar y guardar datos de sesión con SQL Server. Las clases mySession y SessionPersistence están expuestas como objetos COM utilizando la utilidad regasm.exe. La utilidad regasm.exe puede registrar y crear una biblioteca de tipos para que el cliente COM consuma clases de Framework.
La información del estado de la sesión se vuelve a cargar durante la construcción del objeto. El constructor (class_initialize) primero recuperará la cookie de sesión, el tiempo de espera de la sesión (SessionTimeOut) y la cadena de conexión de la base de datos (SessionDSN) del objeto Application y crea una instancia de la clase mySession para contener los datos de la sesión. Luego, el constructor intentará volver a cargar los datos de sesión de SQL Server con la cookie dada. Si SQL Server no tiene la información de sesión, o la sesión ha expirado, se emitirá una nueva cookie. Si SQL Sever regresa con los datos de estado de la sesión, el estado de la sesión se almacenará en el objeto mySession.
No hay nada más incorporado, aunque en ASP Classic es bastante fácil crear su propio sistema de gestión de sesiones. forma más simple de ser una tabla en una base de datos como el siguiente:
SessionID int PK, de texto Campos, texto Valores, Expira DateTime
llegar a algún tipo de CSV codificador/decodificador para los campos y valores y poblar una colección en cada página. A continuación, guárdelo una vez que la página se ejecuta y actualice el tiempo de caducidad. Luego solo haga que una cookie haga un seguimiento de la ID de la sesión o páselo por la cadena de consulta.
- 1. Sesión en ASP clásico
- 2. Cookie.HTTPSólo en el clásico ASP
- 3. Dónde almacenar la cadena de conexión para ASP clásico?
- 4. ASP clásico: objeto de solicitud Está vacío
- 5. ¿Cómo mantener la sesión en el ASP clásico compartiéndolo con .net?
- 6. Depuración con Response.Write en el clásico ASP
- 7. código de respuesta asp clásico
- 8. ¿dónde está el estado de la sesión, el estado de la aplicación en el ciclo de vida de la página?
- 9. Cadena multilínea en Asp clásico
- 10. ResolveUrl/Url.Content en ASP clásico
- 11. Cómo almacenar la sesión en Spring MVC
- 12. Regreso temprano de una función en el ASP clásico
- 13. Cómo retrasar una respuesta en ASP clásico
- 14. ¿Vale la pena aprender ASP clásico?
- 15. Insertar objetos en el alcance global en ASP/Javascript clásico
- 16. VBScript/ASP clásico
- 17. Regrese conjunto de registros de la función en ASP clásico
- 18. ASP clásico - Detectando 500 errores
- 19. ASP clásico: ASPSESSIONID múltiple en cookies
- 20. ¿Hay alguna forma de iniciar el proceso en estado suspendido?
- 21. ASP clásico en ASP.NET MVC (C#)
- 22. Estructura de clase en asp clásico
- 23. Ejecución de ASP clásico en IIS 7.5
- 24. Objetos clásicos de la tienda ASP en el objeto de sesión
- 25. ¿Cómo puedo obtener el dominio actual en ASP clásico?
- 26. asp clásico - Cómo automatizar la implementación - en el entorno de integración continua
- 27. combinación de matriz en ASP clásico
- 28. Valores de formulario HTML que agregan comas en ASP clásico
- 29. concatenación de cadena en ASP clásico
- 30. ASP clásico: errores de captura
Excelente hallazgo, muchas gracias! – Chris
No estoy seguro de por qué el objeto COM debe escribirse en Visual Basic 6.0, podría ser cualquier lenguaje, siempre que el resultado sea un objeto COM invocado por un lenguaje de script utilizado en ASP. – AnthonyWJones