I read on MSDN that you can configure the Windows Process Activation Service (WAS) to automatically start an application pool when the application pool is created or when IIS is started. This only works on IIS 7.0 as far as I can tell. My question is how do I do this for IIS 6.0 (Windows Server 2003). I have a .net 3.5 app that takes 30 seconds to start for the first visitor.
The app is precompiled, so I don't think that is what is causing the delay. After the first person has had to wait for 30 seconds, everything works quickly.
Here is a little utility I've used for "warming up" SharePoint sites in the past. I don't see why it wouldn't work for a non-SharePoint website.
A scheduled task to hit the url every now and then?
Have you tried looking at the Recycling options for the application pool? You can recycle it based on many different opitons.