Configurei um pool para iniciar automaticamente e nunca dormir. Estou tendo problemas com a inicialização automática. Meu entendimento é que um trabalhador do pool de threads será iniciado após uma reciclagem, quando isso acontecer, eu diria que o ponto de entrada do aplicativo seria chamado, no entanto, isso não parece estar funcionando.
Quando o aplicativo é implantado, vejo as seguintes entradas de log no coletor V2 "IIS AspNetCore Modeule".
- 28/01/2022 09:25:15 - Trabalho em execução: Liberação
- 28/01/2022 09:25:28 - O aplicativo 'C:<path to app>' foi reciclado após detectar app_offline.htm.
- 28/01/2022 09:25:29 - O aplicativo 'MACHINE/WEBROOT/APPHOST//' foi encerrado.
- 28/01/2022 09:25:33 - Liberação de Trabalho concluída com resultado: Bem-sucedido
Onde
- Compilação do microsserviço DevOps - Iniciar
- Reciclar (build cria o app_offline)
- Desligamento da API
- Início da compilação do microsserviço DevOps - bem-sucedido
Estou intrigado por não haver uma mensagem de inicialização da API associada, como - Aplicativo 'C:<caminho para o aplicativo>' iniciado com êxito.
É importante observar que este é um "microsserviço" de API do .NET Core que não aceita solicitações http. No código, a inicialização tem essa configuração.
services.AddHostedService<AuthorizationMessageConsumerService>();
e
public class AuthorizationMessageConsumerService : BackgroundService
Se após cada implantação, o ponto de extremidade /health for pingado, o serviço será iniciado.
Só posso adivinhar que o AlwaysRunning acabou de criar um novo thread de solicitação, mas não chama nenhum ponto de entrada, que é chamado por uma solicitação de http/saúde recebida.
Estou tentando evitar fazer um ping um requisito de compilação e implantação. Existem opções ou configurar pings de integridade em intervalos de tempo e pós-implantação seria a melhor solução?
A única coisa que estava faltando era Preload Enabled=true no nível do aplicativo IIS. Isso basicamente enviará uma solicitação para iniciar seu aplicativo após uma reciclagem devido a uma implantação ou qualquer outra coisa.