Há várias coisas que você pode fazer:
1. Inicialização do aplicativo
Você pode usar o Application Initialization Module que vem na caixa com o IIS 8.0
você pode ter algo assim no seu web.config
<applicationInitialization
doAppInitAfterRestart="true" >
<add initializationPage="/" />
</applicationInitialization>
Isso enviará uma solicitação para a raiz do seu aplicativo ( initializationPage="/"
) toda vez que ele for iniciado automaticamente.
Você também pode configurar o Modo Iniciar do seu pool de aplicativos, o Always Running
que significa que toda vez que o IIS for reiniciado, ele iniciará o pool de aplicativos imediatamente (isso se você clicar com o botão direito do mouse no pool de aplicativos e, em seguida,Advanced Settings

e Preload
para o seu próprio site (clique com o botão direito do mouse no site e Manage Site
depoisAdvanced Settings

2. Desativar tempo limite ocioso
Além disso, você pode desativar o idleTimeout (por padrão, o IIS desligará o aplicativo após 20 minutos de atividade) alterando o de in Idle Time-out
do seu pool de aplicativos para 0 (infinito)

3. Desative a reciclagem periódica
também desabilite Regular Time Interval (minutes)
por padrão o IIS reciclaria seu aplicativo a cada 29 horas.

Para