servicios plus play gratis google descargar actualizar .net deployment windows-server-2008-r2 ngen remoteapp

.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:

  1. 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),
  2. Escribe archivos nuevos en lugar de viejos,
  3. NGEN instala nuevos ensamblajes (¡sin desinstalar primero los viejos!),
  4. Notifique a los usuarios (a través de la aplicación) que la versión de la aplicación ha cambiado y necesita reiniciarse,
  5. 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

  1. Agregue una nueva carpeta C:/Program Files/myApp/1.0.26/
  2. ngen los nuevos montajes
  3. Actualizar clave de registro para apuntar a nueva carpeta
  4. El iniciador, cuando se ejecuta, inicia la nueva versión de la aplicación.
  5. 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.

Referencia: http://weblog.west-wind.com/posts/2013/Oct/02/Use-IIS-Application-Initialization-for-keeping-ASPNET-Apps-alive