.net - plus - play store descargar
Manera correcta de actualizar una aplicaciĆ³n RemoteAPP con NGEN (2)
Tenemos una aplicación NGEN-ed de Windows2008R2 RemoteAPP .NET 4.5 en el servidor RDS, con aprox. 300 usuarios concurrentes para el clúster NLB de 3 hosts.
La aplicación se encuentra en desarrollo activo y los ensamblados implementados de RemoteAPP necesitan ser actualizados (es decir, reemplazados por otros nuevos) con bastante frecuencia.
Cómo hacemos actualmente esto es como sigue:
- Cambie el nombre de los archivos que se cambiarán en el servidor RemoteAPP, con los usuarios conectados (el sistema operativo no permitirá que se sobrescriban los archivos si se cargan),
- Escribe archivos nuevos en lugar de viejos,
- NGEN instala nuevos ensamblajes (¡sin desinstalar primero los viejos!),
- Notifique a los usuarios (a través de la aplicación) que la versión de la aplicación ha cambiado y necesita reiniciarse,
- Gradualmente, permita a los usuarios reiniciar la aplicación a su ritmo (el reinicio simultáneo de la aplicación resultaría en una mayor carga del disco y la CPU, lo que perjudicaría el rendimiento del servidor). Y así para todos los hosts en el clúster.
Después de esto, el servidor ocasionalmente se estrellaría en la pantalla azul con el error crítico de Microsoft-Windows-Kernel-Power EventID 41 - y culpo a nuestra práctica de actualización por ser responsable de ello.
De ahí la pregunta: ¿cuál es la forma recomendada de actualizar una aplicación RemoteAPP y NGEN? Ingresar a nuevos ensamblajes sin tener que terminar los procesos que acceden a los antiguos (es decir, permitir a los usuarios continuar y reiniciar cuando lo deseen).
Gracias.
Podría usar una aplicación de inicio que se publica a través de RemoteApp. El motor de arranque, a su vez, iniciará la última versión de la aplicación.
Ej: tener una clave de registro que es la ruta a la última versión de su aplicación
- Agregue una nueva carpeta
C:/Program Files/myApp/1.0.26/
-
ngen
los nuevos montajes - Actualizar clave de registro para apuntar a nueva carpeta
- El iniciador, cuando se ejecuta, inicia la nueva versión de la aplicación.
- Opcionalmente, elimine la versión anterior cuando ya no esté en uso.
RemoteApp apunta a C:/Program Files/myApp/startApp.exe
startApp.exe
inicia 1.0.26/theApp.exe
Recomiendo acelerar sus aplicaciones web utilizando el nuevo "Módulo de inicialización de aplicaciones para IIS 7.5" y la "Inicialización de aplicaciones" está integrada en IIS 8 en lugar de ngen.
Reclamaciones del sitio web de Microsoft: la Inicialización de la aplicación IIS para IIS 7.5 permite a los administradores de sitios web mejorar la capacidad de respuesta de sus sitios web al cargar las aplicaciones web antes de que llegue la primera solicitud.