ASP.NET applications running on Microsoft Internet Information Services (IIS) use web.config files to store the various configuration settings for its functioning. After updating your ASP.NET web application you may find that the application fails, and you'll need to revert back to the previous version of the configuration file. For this reason it is important to ensure you back up the web.config files correctly and regularly so that backups are available to revert to.
The following section describes how to locate and backup ASP.NET configuration files for applications running under IIS 6.0, and on IIS7.0 and above.
Internet Information Services 6.0
In IIS 6.0 running on Windows Server 2003, web.config files are only used by ASP.NET web applications. Therefore, it is recommended to back up the entire hierarchy of your config files from all of the websites, virtual directories, and web applications within IIS. In the IIS Manager, right-click and open the website, directory, or application and go to the physical folder where it's web.config file is located. Each website/directory/application will have a maximum of one web.config file. Make sure to back up the config files and ensure their order is intact while backing up.
The following image shows an example of a site/directory hierarchy and where the configuration files would be located:
In the above scenario, the root of the Default Web Site may have its own web.config file. Application1 under the Default Web Site may also have its own web.config file, and so on. It is a good practice to backup the metabase.xml file (for IIS related configuration settings) and all the Web.config files for ASP.NET applications on a regular basis.
Internet Information Services 7.0 and above
Beginning in IIS 7.0, both ASP.NET configuration and IIS configuration can be stored in the same web.config files. The settings pertaining to ASP.NET will be located under the <system.web> section, and IIS settings will be located under <system.webserver>.
The main IIS configuration file, applicationHost.config, is stored under the %systemroot%\Windows\System32\inetsrv\config folder. The web.config files for specific web sites, directories, and applications contain settings for both IIS and ASP.NET and are located in the root of each.
You can run the following command to take a backup of the IIS configuration file using the following command: