El grupo de aplicaciones configurado en AlwaysRunning no inicia automáticamente el servicio alojado

El grupo de aplicaciones configurado en AlwaysRunning no inicia automáticamente el servicio alojado

He configurado un grupo para que se inicie automáticamente y nunca entre en suspensión. Tengo problemas con el inicio automático. Tengo entendido que se iniciará un trabajador del grupo de subprocesos después de un reciclaje, cuando eso suceda. Supongo que se llamará al punto de entrada de la aplicación, sin embargo, eso no parece estar funcionando.

Cuando se implementa la aplicación, veo las siguientes entradas de registro en el receptor V2 "IIS AspNetCore Modeule".

  1. 28/01/2022 9:25:15 a. m.: trabajo en ejecución: lanzamiento
  2. 28/01/2022 9:25:28 a. m.: la aplicación 'C:<ruta a la aplicación>' se recicló después de detectar app_offline.htm.
  3. 28/01/2022 9:25:29 a. m.: la aplicación 'MACHINE/WEBROOT/APPHOST//' se ha cerrado.
  4. 28/01/2022 9:25:33 a. m.: Liberación del trabajo completada con resultado: Correcto

Dónde

  1. Compilación de microservicios DevOps: inicio
  2. Reciclar (la compilación crea app_offline)
  3. Cierre de API
  4. Inicio de compilación de microservicios DevOps: exitoso

Me sorprende que no haya un mensaje de inicio de API asociado como: La aplicación 'C:<ruta a la aplicación>' se inició correctamente.

Es importante tener en cuenta que se trata de un "microservicio" API de .NET Core que no acepta ninguna solicitud http. En código, la startup tiene esta configuración.

services.AddHostedService<AuthorizationMessageConsumerService>();

y

public class AuthorizationMessageConsumerService : BackgroundService

Si después de cada implementación, se hace ping al punto final /health, el servicio se inicia.

Solo puedo suponer que AlwaysRunning acaba de crear un nuevo hilo de solicitud pero no llama a ningún punto de entrada, al que llama una solicitud http entrante/salud.

Estoy tratando de evitar que un ping sea un requisito de compilación e implementación. ¿Existe alguna opción o la mejor solución sería configurar pings de estado en intervalos de tiempo y después de la implementación?

Configuración de IIS

ingrese la descripción de la imagen aquí

Respuesta1

Lo único que me faltaba era Precarga habilitada = verdadero en el nivel de la aplicación IIS. Básicamente, eso enviará una solicitud para iniciar su aplicación después de un reciclaje debido a una implementación o cualquier otra cosa.

información relacionada