ASP.NET 应用程序必须位于 IIS 虚拟目录(也称为应用程序根目录)中。ASP.NET 应用程序可包含已编译的程序集(通常是包含业务逻辑的 DLL 文件)、用于存储预编译代码的已知目录(目录名总是 \Bin)、存储在基于文本的、易读的 Web.config 文件中的配置设置、页、服务器控件,以及 XML Web 服务。
服务器中任何不与其他应用程序共享的预编译代码必须存储在应用程序的 \Bin 目录中。它是应用程序的本地程序集缓存。
注意 如果要在 Web 服务器中的多个应用程序中使用相同的程序集,则应将该程序集部署到全局程序集缓存中。详细信息,请参阅“向全局程序集缓存部署共享组件”。
Web.config 文件在基于 XML 的文本文件中存储应用程序级的配置文件。这意味着可以使用任意标准的文本编辑器或 XML 分析器来创建它们,而且它们是可读的。如果不在应用程序根目录中包含 Web.config 文件,则配置设置由 Machine.config 文件中整个服务器的配置文件来确定。安装 .NET Framework 时,会安装 Machine.config 文件的某个版本。有关配置文件的详细信息,请参阅 ASP.NET 配置。
下图显示了 ASP.NET 应用程序文件系统布局的示例。
本图中的应用程序包括 \Bin 目录中的两个 DLL 文件、一个 Default.aspx 页,一个名为 Menu.ascx 的用户控件、一个名为 MyWebService.asmx 的 XML Web 服务以及一个 Global.asax 文件。另外,该应用程序是使用下列三个配置文件配置的:系统根目录中计算机级别的 Machine.config 文件、C:\Inetpub\Wwwroot 目录中站点级别的 Web.config 文件和应用程序根目录中应用程序级别的 Web.config 文件。当站点的 Web.config 文件覆盖 Machine.config 文件中的设置时,在应用程序根目录中存储的配置设置将覆盖站点的 Web.config 文件和 Machine.config 文件中的设置。
注意 ASP.NET 应用程序是由虚拟目录结构而不是由物理目录结构组成的。配置设置将应用到虚拟路径中。