A maneira fácil de recarregar vários aplicativos em um único site do IIS após o AppPool Recycle?

2

Não sei por onde começar nem mesmo se meu pensamento está na direção certa. Espero que alguém aqui possa me dizer o que fazer ou pelo menos me dar uma direção para começar a viajar.

Eu trabalho em um site de intranet, que contém vários aplicativos MVC3 e Coldfusion. Eu configurei o AppPool para Reciclar todas as manhãs às 2:00 da manhã. Agora, gostaria de criar uma tarefa agendada para recarregar todos os aplicativos contidos nesse site do IIS para que, quando o primeiro usuário chegar pela manhã, eles não tenham que esperar de 30 segundos a 2 minutos para que o aplicativo seja recarregado no site. AppPool do IIS.

Existe uma maneira fácil de fazer isso? Pelo que vejo, minhas únicas opções são:

  • Escrevendo um script bash, inserindo cada site manualmente para carregar
  • Escrevendo um programa que tentaria encontrar todos os aplicativos e carregá-los

Agora, se essas são minhas únicas opções, há possivelmente uma biblioteca .NET na qual eu possa encontrar facilmente os Aplicativos MVC3 no IIS?

    
por mawburn 09.07.2012 / 16:16

2 respostas

1

Use o Application Initialization Module para fazer isso: link

Houve uma versão mais antiga deste módulo, mas esta é a versão recentemente reescrita. Ainda está no CTP, mas parece bastante estável.

Além disso, este módulo parece estar incluído por padrão no Server 2012 e IIS8

    
por 09.07.2012 / 16:21
0

Geralmente, criamos uma tarefa agendada que executa o wget a cada poucos minutos para realizar a carga inicial. Isso pode ser executado em qualquer computador. Existe um recurso de "aquecimento" com o IIS 7, mas eu realmente não vejo como poderia ser mais simples do que usar o wget.

wget.exe --quiet --secure-protocol=SSLv3 --no-check-certificate sitename.domainname.com  

Observe também que, se o seu site não estiver pré-compilado, o usuário ainda terá um atraso para cada página que não tenha sido compilada. A melhor coisa a fazer seria usar aspnet_compiler.exe para fazer isso para você no processo de compilação.

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe" -f ^  
-v "/" -p "%~dp0..\..\SourceWebSiteFolder" ^  
-d -fixednames "%~dp0..\..\PublishedWebSiteFolder"  
    
por 09.07.2012 / 16:26