IIS Auto-Start not disabling Idle Timeout
asp.net, azure, iis, iis-8
Solution
Setting the Start Mode to Always Running alone didn't work for me either but setting the Idle Timeout to 0 in the application pool's Advances settings did.
Problem
I setup ASP.NET Auto-Start on my Windows Azure Web Role (I use ASP.NET 4.5 and IIS 8 on Windows Server 2012). I basically followed those instructions. I am setting `startMode="AlwaysRunning"` on the application pool and `preloadEnabled="true"` on the website through the OnStart method of the webrole. I used remote access and verified that those two properties are correctly set (through IIS Manager, as well as checking the applicationHost.config file). I also added this to the web.config file: ``` <applicationInitialization skipManagedModules="true"> <add initializationPage="/" /> </applicationInitialization> ``` This page says the Idle Timeout should be disabled when auto-start is enabled. Yet, I can see from my log that it is not, the application pool gets restarted after some inactivity. I can also see that in the event log (several times over 6 hours): A worker process with process id of '772' serving application pool 'cf9d3284-6454-4bbf-8a8e-efd73df4ed83' was shutdown due to inactivity. Application Pool timeout configuration was set to 20 minutes. A new worker process will be started when needed. The strange thing is that it seems a new application pool is started immediately after this is logged, even if there is no request to the website. So if I don't get a single request in one hour, the application pool is recycled and restarted 3 times (I confirmed this from the logs). Is my configuration incorrect or am I missing something?