Always Running App - Idle Timeout Disabled Note

Sorry for creating a discussion around a small thing, but on the Making ASP.NET application always running page, within Enabling Service Auto-start section there is this note at the bottom:

There is no need to set IdleTimeout to zero – when Application pool’s start mode is set to AlwaysRunning, idle timeout does not working anymore.

This isn’t actually true. The Idle Timeout still kicks off and performs the action it’s set to (defaults to Terminate process). But, the Always Running feature will detect the termination and start a new process. This has side effects, as it will run “Stopping” code. I’m not sure about the timing of the two process (are they performed back to back, or overlapping), but my sense is they are done back to back.

My apologizes for bringing up such a tedious topic and for not forking the github project and writing a note for review. But, as you can see, I’m pretty terrible at writing concise descriptive comments.

Hopefully someone else will know if the text should be updated or not.

We had to set the IdleTimeout to zero in order for the application to continue running. We tested several scenarios and the IdleTimeout continued to work after setting the application pool’s start mode to AlwaysRunning.