ASP.NET 4.0 的新特性(清晰的Web.Config文件)(翻译)
.NET 4.0 Framework 系列文章列表
原文地址
Clean Web.Config Files
(1) 在过去的Web.Config的情况
在过去,asp.net porject中的Conifg文件的大小是有规律的发展,如在Vs2008Sp1中新创建一个Web porject的Web.config是126行,其中包括定义有ASP.NET HTTP pipeline中的handlers和modues。
在.net2.0,.net 3.5中使用的是相同的CLR,所以.net2.0中的 Machine.config能就能运行在.net 3.5之上,并且只需要简单安装新的Framework的并更新新的assemblies就可以啦。未避免风险我对于原.net 2.0 的machine.Conifg进行重写自定义部分的设置。我们并没有注册新的标签,handlers和modules。所以你只要安装新的新的Framework就能运行.Net3.0和.net3.5的新功能。
但是如果我们每注册一个新的工程都默认写一些Web.conifg配置,会引起Web.config文件的大小和复杂度不段增长,不容易读取和管理。
(2)在asp.net 4.0中的Web.config
在.NET4中包括新版本的CLR,并新的.net 4的machine.config的配置文件,(它与.net2.0和.net 3 ,.net 3.5的文件是同时存在,并可以同时使用。)
在新的.NET 4的machine.config中会注册所有的 ASP.NET标签,hanlder和模块。其中所包括的有下面功能;
•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)
下面的图是创建一个空的ASP.NET Application 工程,你会看见清晰的Web.config
![asp.net4.0](https://images.cnblogs.com/cnblogs_com/worksguo/115331/r_web2.png)
在图中第一个web.config 标记是告诉ASP.NET应用程序用什么框架调式,也就是.net的版本,你可以通过使用VS的target的intellisense来设置,(通过使用Vs2010的多目标的支持,并且在IDE中也会通过你选的目标版本来自动intellisense.)
第二部分就是指定ASP.NET应用程序在IIS 7内运行时,是否使用ASP.NET HttpModules 对于所有的ASP.NET应用程序的URL请求进行控制。我们默认是授权的。也就是说默认是兼容IIS 7并在IIS 7的内使用URL请求进行控制,并将会对Machine.config中配置好ASP.NET URLS modules。
(3)Web.config的多文件配置
![](https://images.cnblogs.com/cnblogs_com/worksguo/115331/r_net4.bmp)
其实在安装新的.net 4.0中,会在IIS上注册新的应用程序池ASP.NET V4,这样你的IIS上至少也会有两个关于ASP.NET的引用程序池。
上面也算是学习与总结吧!
worksguo
www.cnblogs.com/worksguo