Tenemos un sistema donde hospedamos un par de aplicaciones WCF en IIS. Algunas de estas aplicaciones tienen un poco de tiempo de inicio prolongado que toma un par de segundos (más de lo que los usuarios estarían encantados de esperar). Una vez que está en funcionamiento, todo es rápido, así que realmente es solo el tiempo de inicio.Cómo: evitar problemas de inicio en frío con aplicaciones WCF alojadas en IIS
El cliente también tiene el requisito de reciclar los grupos de aplicaciones todas las noches.
¿Hay alguna manera de activar todos estos servicios para que el tiempo de puesta en marcha no sea un problema para el primer usuario del sistema?
Pensamientos iniciales sobre dónde escribir un servicio de Windows que simplemente llame a un método liviano en cada servicio cada x (configurable) minutos para mantener las aplicaciones activas, pero dado que estamos en un entorno equilibrado de carga y las aplicaciones necesitan un host específico los encabezados que se aprobarán, siempre accederíamos a la dirección del saldo de carga, lo que significa que no hay forma de que podamos asegurarnos de que todos los servicios en todos los cuadros del clúster se inicien realmente.
Dado que una sola aplicación wcf en IIS solo puede tener un único encabezado de host, la única otra manera sería configurar un segundo sitio web iis apuntando a la misma aplicación. Simplemente no estoy seguro de si eso sería el truco, ya que sería en otro contexto de host.
otra opción podría ser escribir algo así como una extensión de IIS (no estoy seguro si esto aún es posible) que podría llamar a cada uno de nuestros servicios cuando IIS o el grupo de aplicaciones realmente se inicie de nuevo. (Algo que se da cuenta cuando el grupo de aplicación ha reciclado pero antes de la primera petición del usuario.
Cualquier idea sería muy apreciada.
Gracias
Gineer
IIS7 tiene una característica llamada Application Warmup o similar. –