使用 ASP.NET 配置系统的功能,可以配置整个服务器上的所有 ASP.NET 应用程序、单个 ASP.NET 应用程序、各个页面或应用程序子目录。可以配置各种功能,如身份验证模式、页缓存、编译器选项、自定义错误、调试和跟踪选项等等。
以下各节描述了 ASP.NET 配置系统的功能。
有关配置 .NET Framework 客户端应用程序的信息,请参见配置应用程序。
配置文件
ASP.NET 配置数据存储在全部命名为 Web.config 的 XML 文本文件中,Web.config 文件可以出现在 ASP.NET 应用程序的多个目录中。使用这些文件,可以在将应用程序部署到服务器上之前、期间或之后方便地编辑配置数据。可以通过使用标准的文本编辑器、ASP.NET MMC 管理单元、网站管理工具或 ASP.NET 配置 API 来创建和编辑 ASP.NET 配置文件。
ASP.NET 配置文件将应用程序配置设置与应用程序代码分开。通过将配置数据与代码分开,可以方便地将设置与应用程序关联,在部署应用程序之后根据需要更改设置,以及扩展配置架构。
有关如何对 ASP.NET 配置文件中的数据进行组织的更多信息,请参见 ASP.NET 配置文件。ASP.NET 配置设置中描述了可用的配置设置。
配置文件层次结构和继承
每个 Web.config 文件都将配置设置应用于它所在的目录以及它下面的所有子目录。可以选择用子目录中的设置重写或修改父目录中指定的设置。通过在 location 元素中指定一个路径,可以选择将 Web.config 文件中的配置设置应用于个别文件或子目录。
ASP.NET 配置层次结构的根为 systemroot\Microsoft.NET\Framework\versionNumber\CONFIG\Web.config 文件,该文件包括应用于所有运行某一具体版本的 .NET Framework 的 ASP.NET 应用程序的设置。由于每个 ASP.NET 应用程序都从根 Web.config 文件那里继承默认配置设置,因此只需为重写默认设置的设置创建 Web.config 文件。
注意 |
|---|
| 根 Web.config 文件从 Machine.config 文件那里继承一些基本配置设置,这两个文件位于同一个目录中。其中的某些设置不能在 Web.config 文件中被重写。有关更多信息,请参见 ASP.NET 配置文件层次结构和继承。 |
运行时,ASP.NET 使用 Web.config 文件按层次结构为传入的每个 URL 请求计算唯一的配置设置集合。这些设置只计算一次,随后将缓存在服务器上。ASP.NET 检测对配置文件进行的任何更改,然后自动将这些更改应用于受影响的应用程序,而且大多数情况下会重新启动应用程序。只要更改层次结构中的配置文件,就会自动计算并再次缓存分层配置设置。除非 processModel 节已更改,否则 IIS 服务器不必重新启动,所做的更改即会生效。
有关 ASP.NET 配置层次结构的工作原理的更多信息,请参见 ASP.NET 配置文件层次结构和继承和 ASP.NET 配置方案。
直接编辑配置文件
配置工具
使用 ASP.NET 配置系统所提供的工具来配置应用程序比使用文本编辑器简单,因为这些工具包括错误检测功能。
ASP.NET MMC 管理单元
用于 ASP.NET 的 Microsoft 管理控制台 (MMC) 管理单元提供一种在本地或远程 Web 服务器上的所有级别操作 ASP.NET 配置设置的方便途径。ASP.NET MMC 管理单元使用 ASP.NET 配置 API,但是它通过提供一个图形用户界面 (GUI) 来简化配置设置的编辑过程。另外,该工具还支持多个 ASP.NET 配置 API 功能,这些功能控制 Web 应用程序是否可以继承设置,并管理配置层次结构各级别之间的依赖性。
注意 |
|---|
| 若要使用 ASP.NET MMC 管理单元,必须使用具有管理权限的帐户登录到计算机。 |
ASP.NET MMC 管理单元在虚拟目录的属性页上显示为“ASP.NET”选项卡。
有关更多信息,请参见 ASP.NET MMC 管理单元。
网站管理工具
对网站具有管理权限的任何人都可以使用网站管理工具来管理该网站的配置设置。网站管理工具旨在为各个网站中最常用的配置设置提供一个用户友好的图形编辑工具。由于网站管理工具使用基于浏览器的界面,因此它允许您远程更改网站设置,这对于管理已经部署到成品 Web 服务器的站点(如承载的网站)非常有用。
网站管理工具与 ASP.NET MMC 管理单元在若干方面存在不同。例如,ASP.NET MMC 管理单元最适于管理员级别的配置,因为它提供对 Web 服务器上的整个配置文件层次结构的访问,而不是提供对单个网站的配置设置的访问。此外,您还必须是管理员才能使用 ASP.NET MMC 管理单元,而网站管理工具只允许各个网站所有者在他们具有管理权限的站点的根目录中配置 Web.config 文件。最后,您不能使用 ASP.NET MMC 管理单元来远程管理 IIS,但是,网站管理工具的浏览器界面允许远程配置 IIS 6.0 和更高版本的 IIS。
网站管理工具包括一个选项卡式界面,该界面在下列选项卡上对相关的配置设置进行分组:
-
“安全”选项卡,其中包含有助于保护 Web 应用程序资源并管理用户帐户和角色的设置。
-
“配置文件”选项卡,其中包含用来管理网站如何收集访问者信息的设置。
-
“应用程序”选项卡,其中包含用来管理影响 ASP.NET 应用程序的配置元素的设置。
-
“提供程序”选项卡,其中包含用来添加、编辑、删除、测试或分配应用程序提供程序的设置。
网站管理工具是随 .NET Framework 2.0 版自动安装的。有关该工具如何工作的信息,请参见 ASP.NET 网站管理工具。
命令行工具
.NET Framework 包括几个执行特定配置操作的命令行工具。例如,使用 Aspnet_regiis.exe 工具,可以指定将哪个版本的 .NET Framework 应用于 ASP.NET 应用程序。有关更多信息,请参见 .NET Framework 工具。
ASP.NET 配置 API
ASP.NET 配置系统提供一个完整的托管接口,使用该接口,可以通过编程方式配置 ASP.NET 应用程序,而不必直接编辑 XML 配置文件。另外,ASP.NET 配置 API 还执行下列任务:
-
通过为配置层次结构中所有级别的数据提供一个集成视图来简化管理任务。
-
支持部署任务,包括创建配置和用一个脚本配置多台计算机。
-
为构建 ASP.NET 应用程序、控制台应用程序和脚本、基于 Web 的管理工具和 MMC 管理单元的开发人员提供单一的编程接口。
-
防止开发人员和管理员进行无效的配置设置。
-
允许您扩展配置架构。您可以定义新配置参数并编写配置节处理程序以对它们进行处理。
-
提供从当前正在运行的应用程序获取配置信息的静态方法,以及从单独的应用程序获取配置信息的非静态方法。使用静态方法可以提高应用程序的运行速度,但是这些方法只能从您要获取其配置数据的应用程序内部使用。
有关更多信息,请参见 ASP.NET 配置 API。
配置安全性
ASP.NET 配置系统有助于防止未经授权的用户访问配置文件。ASP.NET 将 IIS 配置为拒绝任何浏览器访问 Machine.config 或 Web.config 文件。对于试图直接请求配置文件的任何浏览器,都返回 HTTP 访问错误 403(禁止)。
另外,将禁止一个 ASP.NET 应用程序中的配置文件访问其他 ASP.NET 应用程序中的配置设置,除非您的配置应用程序在完全信任模式下以对其他应用程序中的配置文件具有读取权限的帐户运行。
有关更多信息,请参见保证 ASP.NET 配置的安全和使用受保护的配置加密配置信息。
请参见