Do you agree that ASP.NET Application’s web.config became very big and hard to read?
ASP.NET Team Development also agreed on that and introduce some enhancements to make web.config content simple and easy to read.
ASP.NET Platform configurations based on two config files, First one is machine.config which contains common configuration data like define available configSections to be used in this version of framework and other global elements such as processModel.
You can find machine.config for framework 2.0,3.0 and 3.5 through C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG. you should notice that all these frameworks working under the CLR v2.0.50727 which means they use the same machine.config
web.config is the second file you need to properly configure your ASP.NET application. web.config should contain only application specific information. because of mentioned-above frameworks upgrade the framework Class Library and introduce new services which working under the same CLR. these new services and libraries should be configured and registered in web.config such as Ajax, routing, and integration with IIS 7.
In Framework 4, we have new CLR and new machine.config, so all common configuration data have been moved to the new machine.config and made web.config simple and clear.
In ASP.NET 4, web.config might be empty or contain very few lines