Como evitar problemas de inicialização a frio com aplicativos WCF hospedados no IIS?

Temos um sistema no qual hospedamos alguns aplicativos WCF no IIS. Alguns desses aplicativos têm um tempo de inicialização prolongado, levando alguns segundos (mais do que os usuários esperariam). Uma vez instalado e funcionando, tudo fica rápido, então é realmente apenas o tempo de inicialização.

O cliente também tem um requisito para reciclar os pools de aplicativos todas as noites.

Existe alguma maneira de ativar todos esses serviços para que o tempo de inicialização não seja um problema para o primeiro usuário do sistema?

Pensamentos iniciais sobre onde gravar um serviço do Windows que simplesmente chamaria um método leve em cada serviço a cada x minutos (configurável) para manter os aplicativos ativos, mas como estamos em um ambiente com carga equilibrada, os aplicativos precisam de cabeçalhos de host específicos para serem transmitidos , sempre acessaríamos o endereço do equilíbrio de carga, o que significa que não há como garantir que todos os serviços em todas as caixas do cluster sejam realmente iniciados.

Como um único aplicativo wcf no IIS pode ter apenas um cabeçalho de host único, a única outra maneira seria configurar um segundo site iis apontando para o mesmo aplicativo. Só não tenho certeza se isso funcionaria, pois seria em outro contexto de host.

outra opção seria criar algo como uma extensão do IIS (ainda não tenho certeza se isso é possível) que poderia chamar cada um dos nossos serviços quando o IIS ou o pool de aplicativos realmente reiniciar. (Algo que nota quando o pool de aplicativos é reciclado, mas antes da primeira solicitação do usuário.

Qualquer idéia será muito bem vinda.

obrigado

Gineer

questionAnswers(2)

yourAnswerToTheQuestion