IIS Application Initialization feature is introduced in IIS7.5 using an IIS extension utility (http://www.iis.net/downloads/microsoft/application-initialization), it is build in for IIS 8.0. It enables website administrators to improve the responsiveness of Web applications before the first request arrives. Using this IT Professional can ensure their websites/application will remain responsive all the time by actively loading and initializing all the dependencies like database connections, all modules, compilation of ASP.NET code, etc… During the initialization process one can configure to display splash screen also.
It helps improve user experience while the Application is warming up, IIS Application Initialization helps developers to improve user experience when they request an application that is not initialized. The developer can create a set of URLs that will execute to initialize an application, and in the mean while IIS will be configured to return some alternative response.
On IIS7.5 after installing above utility you can configure it either manually by editing configuration file or you can use IIS extension utility from msdn site for that.
Step1: Find the application-host configuration file on your machine, you can easily find that at
Step2: Identify which application pool your application is using, then find the applicationPools node in the applicationHost.config file it should be like:
Step3: Search you application pool in that list of pools, add attribute startMode=”AlwaysRunning”: exp:
<add name=”ASP.NET v4.0 x86″ enable32BitAppOnWin64=”true” managedRuntimeVersion=”v4.0″
managedPipelineMode=”Integrated” startMode=”AlwaysRunning” />
Step4: Now first identify in which web site your application is, search for node “sites” in same configuration file then look for your web site and identify you application, after that just and add attribute preloadEnabled=”true” to your application entry:
<site name=”Default Web Site” id=”1″ serverAutoStart=”true”>
<application path=”/MyWCFService” applicationPool=”ASP.NET v4.0 x86″ preloadEnabled=”true”>
Step5: Save applicationhost configuration file, then go to your application and open web.config file, find the node:
Under system.webServer just add the below content.
<applicationInitialization remapManagedRequestsTo=”" skipManagedModules=”false” doAppInitAfterRestart=”true”>
<add initializationPage=”TestPage1.aspx” />
In this the initializationPage holds the Url to which the fake call will be send by IIS as apart of application Initialization, remapManagedRequestsTo is used to define a splash screen page. After doing above changes save the configuration file and restart IIS.
You can also use IIS extension from msdn developer forum, you can download that extension from the link:
After that just go to IIS manager and find that extension and follow the steps mention in above link.