通过配置文件自动控制将集合连入到一个web form并不是只有使用@Assembly指令一个方式,集合也可以在一个application当中自动的被引入某个页面。这样的集合不需要指令@Assembly。我们可以在配置文件config.web中使用<assemblies>来自动引入集合。
自动的在配置文件当中引入集合
<configuration>
<compilation>
<assemblies>
<add assembly="System.Messaging"/>
<add assembly="*"/>
</assemblies>
</compilation>
</configuration> 
这个星号“*”通知ASP.NET自动引入在“应用程序的私有集合缓冲区”中的每一个集合。通过<add>元素,你可以引入任何的名称空间在application作用域之内。
什么是应用程序的私有集合缓冲区?
.NET的文档中是这样定义应用程序的私有集合缓冲区的:应用程序的私有集合缓冲区被看作是位于应用程序下的子目录\bin以及.NET构架的安装目录。然而通过我的测试,只有\bin目录才被当作应用程序的私有集合缓冲区,也就是说只有这个目录才是星号“*”的作用域。
注意:在<add>元素中的星号“*”仅仅自动连入那些位于应用程序子目录\bin中的集合!
通过查阅.NET架构安装的默认配置文件:config.web。我们可以知道,他自动的引入了如下的集合:
mscorlib 
System 
System.Data 
System.Diagnostics 
System.Drawing 
System.Net 
System.Text.RegularExpressions 
System.Web 
System.Web.Services 
System.Xml 
System.Xml.Serialization 
Microsoft.Comservices 
*  
你可以自己看看默认的config.web文件,也好确认一下。下面的名称空间也是自动引入的:
Microsoft.VisualBasic 
System 
System.Collections 
System.Text 
System.Text.RegularExpressions 
System.Web 
System.Web.Caching 
System.Web.SessionState 
System.Web.Security 
System.Web.UI 
System.Web.UI.WebControls 
System.Web.UI.HtmlControls