¿Cómo se soluciona el hecho de que las sesiones se eliminan cada vez que implementa ciertos archivos de código en un sitio web ASP.NET? A veces tenemos que implementar una solución crucial en el medio del día, pero no queremos arrancar a todos nuestros usuarios para ello.Implementación de ASP.NET: ¿Cómo evitar perder el estado de la sesión al actualizar el código?
Respuesta
De forma predeterminada, las sesiones se almacenan InProc
. Debe elegir un out-of-process option.
Tal vez sólo un StateServer
es suficiente en su escenario
El uso de StateServer solucionaría el problema. Tenga en cuenta que todo lo que desea poner en sesión tendrá que ser serializable al usar cualquier almacenamiento de sesión fuera de proceso. – TonyB
Una forma sería tener un servidor de configuración de carga equilibrada. Puede dirigir todo el tráfico al servidor A, aplicarle un parche al Servidor B y luego repetir al revés.
Alternativamente, como dice @Curtisk, es mejor llegar al nivel en el que no necesita hacer "parches calientes" mediante pruebas rigurosas y luego proceder a las interrupciones planificadas anunciadas con anticipación.
Espero que esto ayude.
La razón por la que esto sucede es que la implementación del nuevo código hace que el grupo de aplicaciones se recicle. Entonces pierde todo lo que tiene en la memoria.
La forma de evitar esto es no guardar nada en la memoria.
La dificultad de esto depende de su arquitectura.
Una solución podría ser guardar su información de sesión en SQL Server, utilizando el estado fuera de proceso. Tenga en cuenta que no use un servidor de estado en memoria, ya que si el grupo de aplicaciones se recicla, lo perderá.
- 1. Evitar el secuestro de sesión en ASP.NET
- 2. ASP.NET MVC: ¿Cómo se sirve el contenido al devolver el código de estado 404?
- 3. Cómo actualizar el texto de estado de la GUI de InnoSetup Wizard desde el código PascalScript
- 4. Perdiendo estado de sesión
- 5. Buiding aplicación ASP.NET sin estado de sesión?
- 6. Estado preparado. ¿Puedo perder el parámetro?
- 7. Cómo actualizar el estado actual con VisualStateManager
- 8. ASP.NET MVC ¿Estado de sesión usando el particionamiento de estado, MongoDB o Memcached o ...?
- 9. Establecer ASP.net executionTimeout en el código/"actualizar" solicitud
- 10. No se puede realizar la solicitud de estado de la sesión al servidor de estado de la sesión
- 11. ASP.NET Servidor de estado de sesión vs. Sesión InProc
- 12. ¿Cómo puedo evitar el estado global?
- 13. Una manera de evitar perder memoria
- 14. Cómo evitar el tiempo de espera de la sesión
- 15. Cómo evitar el código duplicado al usar mocks en unittest
- 16. La ampliación del servidor de estado de sesión ASP.NET
- 17. Rails3 + Devise: evitar la validación de contraseña al actualizar
- 18. ¿Cómo maneja Microsoft Azure el estado de la sesión?
- 19. ¿Actualizar el estado de la orden en eBay usando api?
- 20. ¿Cómo puedo desactivar el estado de la sesión en ASP.NET MVC?
- 21. Cómo evitar la vulnerabilidad de redireccionamiento abierto y redirigir de forma segura al inicio de sesión exitoso (SUGERENCIA: el código predeterminado de ASP.NET MVC 2 es vulnerable)
- 22. Evitar el código de espagueti en ASP.NET MVC
- 23. Encontrar todo el uso del estado de la sesión
- 24. ¿La implementación de java.util.Iterator usa el patrón de estado?
- 25. Cómo evitar la implementación de INotifyPropertyChanged manualmente
- 26. ¿Corregir el código de estado HTTP para el formulario de inicio de sesión?
- 27. Error al iniciar el servicio de estado ASP.NET
- 28. ¿Cómo actualizar el código C antiguo?
- 29. ASP.NET: ¿Cómo acceder a la sesión desde el controlador?
- 30. ¿dónde está el estado de la sesión, el estado de la aplicación en el ciclo de vida de la página?
Prefiero tener un mensaje de notificación de tiempo de inactividad del sistema implementado y sacar a los usuarios limpiamente que meterme con un parche caliente que tiene que ver con las sesiones – curtisk