I am trying to use the Application Initialization module on IIS 8.5 to warm up intranet applications. The setup is correct and the warm up works, however once I disable Anonymous Authentication the app is no longer preloaded (memory usage is only 20mb vs around 200mb when initialization hits the site).
As these are intranet applications that require authentication, we have traditionally always enabled only Windows Authentication and kept Anonymous Authentication disabled.
I am looking for a way to keep this setup and also have Application Initialization work. I found on this page that IIS is using the NT AUTHORITY\IUSR for the request.
As I see it, my options are:
- Enable anonomous authentication.
- Change the account IIS uses to make the request.
Ideally I would like to keep Anonomous Authentication disabled. Does anyone know how I can achieve this?
In a nutshell, I suggest allowing non-SSL, anonymous access to something like a single Init.aspx page in each of your apps. I added such a page to my app for this purpose with documentation in it to help subsequent admins/developers figure out how to make it work if they ever have to move the code to a new server.
One reference in particular that helped me figure out how to get it working was the reference for the web.config
<applicationInitialization>
tag.Here's the Init.aspx page I added to my app in case you want to use a derivative of it: