Is there a way to automatically spin up an ASP.NET app pool after an IISRESET or the scheduled reset so that the initial user doesn't have to wait for the app pool to load?
Request a page from the app after iisreset. This is easily automated.
I have sometimes used a VB-script that requests a page, and set that up to run as a scheduled job. Works perfectly well, and is set up in a couple of minutes.
You can try Application Pool Recycle Utility for SharePoint Developers but the Creator not recommend it for the Production Sites.
SharePointer Joel Oleson (previously of Microsoft) has a warmup script available at his old MS blog. Search for asp.net warm up scripts
for many more.
Typically the application pool recycles overnight. So you can run this script as a scheduled task before people come into work and there will be no need for people to wait.
I faced with this problem and found a kind of way of tackling with it. It has a drawback but can be considered.
http://www.yasarmurat.com/Blog/33/asp-net-application-warm-up-by-using-windows-service.aspx
Regards,
Murat Yasar
If you're using IIS 7 there is an IIS plugin call Application Warm Up that will help
I've written a blog post about my experiences using it here (don't know if i'm allowed to post to my own content?):
http://www.diaryofaninja.com/blog/2010/05/06/keep-your-aspnet-websites-warm-and-fast-247