.NET 4 includes a new version of the CLR, and a new .NET 4
specific machine.config file (which is installed side-by-side with the one used
by .NET 2, .NET 3 and .NET 3.5).
The new .NET 4 machine.config file now automatically
registers all of the ASP.NET tag sections, handlers and modules that we’ve
added over the years, including the functionality for:
ASP.NET AJAX
ASP.NET Dynamic Data
ASP.NET Routing (which can now be used for both ASP.NET
WebForms and ASP.NET MVC)
ASP.NET Chart Control (which now ships built-into ASP.NET
V4)
What this means is that when you create a new “Empty ASP.NET
application” project in VS 2010, you’ll find that the new default
application-level web.config file is now clean and simple:

The first config section above just tells ASP.NET to enable
debugging by default for the application, and indicates the version of .NET
that Visual Studio should target when it provides intellisense (VS 2010
supports multi-targeting – and the intellisense within the IDE will
automatically vary depending on which version of the framework you are targeting).
The second config section indicates whether to use
“integrated” mode when running the ASP.NET application within IIS7 – which
controls whether to run ASP.NET HttpModules for all requests within the
application or just for the ASP.NET specific URLs. We enable this by
default at the application level web.config file for new applications – since
for compatibility reasons the default IIS7 setting registered at the
machine-wide is to run modules only for ASP.NET URLs (and not for all
requests).