Background Information: Lame File Replication
We currently have a massive, high-performance ASP.NET web application with load balancing on 8 different IIS servers. Due to the nature of the site, minor changes to the .aspx and .ascx files often occur during the day, and after testing and publishing for life, they are replicated to each of the public web servers through a scheduled xcopy deployment every 10 minutes.
Of course, this is incredibly inefficient, as each server must have a redundant copy of the entire site, and we would like to eliminate the 10-minute delay in publishing.
Possible improvement: shared storage hosting
Now we have the opportunity to use centralized storage with the iSCSI interface to centrally host the entire site, and each server believes that the remote storage is local. Publications will be instant and system-wide.
Note. Hosting a disk with a UNC resource is not possible because there are so many different directories in the site structure, each of which requires FileSystemWatcher for ASP.NET to track changes so that the maximum number of SMB commands is quickly reached. Yes, we know about the MaxCmds registry settings and MaxMpxCt.
Problem: Web.config changes trigger massive recompilations
, , , .aspx .ascx, , . , , . , , , .
web.config. web.config - . , web.config. web.config , - , ( ) , , .
, web.config, -, , , .
- ASP.NET , Web.config?
, :
- default.aspx
- global.asax
- -ServerA.config
- -ServerB.config
- ...
- -ServerN.config
"web.config" ? , ? , machine.config web.config, , ?
, , AppSettings , . , , web.configs , , , .
web.config appSettings; , , httpHandler system.web, .
Web.config , , , web.config, , -, . .