Recently I was working on a hardware architecture project for a client. The final architecture for one of the websites consisted of 3 web servers hosting windows 2008 and IIS 7 being load balanced.
When setting up the websites we decided to use the Shared Configuration hosting built into IIS7. Shared configuration allows you to deploy and propagate IIS configuration changes to all servers by changing one configuration file.
This post explains it in more detail:
We decided to create a network share for the shared configuration files and use the Offline files feature to make sure that the config files were available to IIS even if the share wasn’t temporarily unavailable.
A good post about how to user Offline sharing is here:
After following all steps all app pools seemed to crash with a strange exception in the event logs:
The worker process for application pool 'MyAppPool' encountered an error 'Cannot read configuration file
' trying to read global module configuration data from file '\\?\<EMPTY>', line number '0'. Worker process startup aborted.
After some researching we realized that although the Offline file functionality seems to be available it doesn’t really do anything unless you have the Desktop Experience installed. Otherwise anytime the network shared becomes unavailable the WAS fails to start your worker process and after a set number of times, it goes into Rapid Fail Protection Mode and stops the application pool.
Good IIS resources: