O manipulador “ExtensionlessUrlHandler-Integrated-4.0” possui um módulo ruim “ManagedPipelineHandler” em sua lista de módulos

Para ser honesto, tentei transformar um truque sujo no IIS e, quando achei que ia sair ileso, percebi que minha solução não funciona. Aqui está o que eu tentei fazer:

1) Eu tenho o aplicativo ASP.NET que temPreloader classe que herdaIProcessHostPreloadClient e faz toda a inicialização pesada emPré-carga implementação do método (a aplicação é complexa e faz parte de um sistema enorme, portanto, requer aproximadamente 2 minutos para estabelecer conexões com todos os serviços necessários e pré-instanciar alguns registros do Unity).

2) Eu tenho um monte de trabalho que precisa ser feito no desligamento de aplicativos (cancelamento de assinatura, desconexão, eliminação, ...), e eu acho que o melhor lugar para fazer isso é no método * Application_End * localizado emGlobal.asax.

3) Tudo funciona muito bem quando tenho atividade do usuário (primeiro pedido após o pool de aplicativos que contém o aplicativo da web acima é iniciado fará com que * Application_Start * seja chamado e depois * Application_End * é chamado no pool de aplicativos parar ou reciclar), mas problemas ocorre quando não há atividade do usuário e o aplicativo tenta reiniciar a si mesmo depois de estar ativo por 48 horas (requisito configurado). Como não houve solicitações, o aplicativo oficialmente não foi iniciado. Ergo, não pode ser parado com graça já que * Application_End * não será chamado.

4) Agora vem a parte bagunçada ... Eu tentei fazer um pedido GET a partir do código no final doPré-carga método, e funcionou. Mas essa solução parecia ruim para mim, embora funcionasse. Então, eu tentei muitas coisas, e a última coisa que tentei foi isso:

SimpleWorkerRequest swr = new SimpleWorkerRequest(string.Empty, string.Empty, tw);
HttpRuntime.ProcessRequest(swr);

... e isso fez o seu propósito. * Application_Start * foi chamado, (verifiquei a resposta, ele estava contendo a página de login que deveria ser exibida na solicitação inicial) e no aplicativo de encerramento do Pool de Aplicativos finalizou normalmente fazendo o trabalho necessário em * Application_End *.

MAS

Depois que o aplicativo foi iniciado (pré-carregado e iniciado) dessa maneira, foi o que aconteceu quando eu desejei alcançar o aplicativo por meio do navegador da Web:

HTTP Error 500.21 - Manipulador de Erros do Servidor Interno "ExtensionlessUrlHandler-Integrated-4.0" possui um módulo incorreto "ManagedPipelineHandler" em sua lista de módulos

Eu sou incapaz de descobrir isso. Alguém pode me dizer por que isso acontece e como consertar isso?

Se eu não descobrir isso, vou voltar para a primeira solução (enviando o pedido GET do código), mas esse problema vai me incomodar desde que eu nem tenho uma idéia do que está errado.

questionAnswers(3)

yourAnswerToTheQuestion