通过配置文件自动控制将集合连入到一个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