Some web applications need to load large amounts of data, or
perform expensive initialization processing, before they are ready to process
requests. Developers using ASP.NET today often do this work using the
“Application_Start” event handler within the Global.asax file of an application
(which fires the first time a request executes). They then either devise
custom scripts to send fake requests to the application to periodically “wake
it up” and execute this code before a customer hits it, or simply cause the
unfortunate first customer that accesses the application to wait while this
logic finishes before processing the request (which can lead to a long delay
for them).
ASP.NET 4 ships with a new feature called “auto-start” that
better addresses this scenario, and is available when ASP.NET 4 runs on IIS 7.5
(which ships with Windows 7 and Windows Server 2008 R2). The auto-start
feature provides a controlled approach for starting up an application worker
process, initializing an ASP.NET application, and then accepting HTTP requests.