| 首页 >> 网络编程 >> ASP.NET >> ASP.NET教程 >> 新闻正文 | [字体:大 中 小] [打印文档] |
| |
|
ProcessModel 元素 processModel 元素(ASP.NET 设置架构)元素配置用于服务器(包括服务器上的所有 ASP.NET 应用程序)的处理模型。因此,processModel 设置只能放在 Machine.config 文件中,而且不能被任何 Web.config 文件中的设置重写。 对 processModel 元素的更改将只有在辅助进程重新启动之后才生效,而不是像其他配置元素那样在设置更改之后立即生效。 注意 当 ASP.NET 以辅助进程隔离模式运行在 Internet 信息服务 (IIS) 6.0 中时,将使用 IIS 6.0 进程模型,并将忽略 Machine.config 文件的 processModel 节中的设置。若要配置进程标识、循环或其他进程模型值,请使用 IIS 管理器来配置应用程序的 IIS 辅助进程。 运行时计算配置设置 当服务器接收对特定 Web 资源的请求时,ASP.NET 使用位于所请求 URL 的虚拟目录路径中的所有配置文件按层次结构计算该资源的配置设置。本地配置设置将重写父配置文件中的设置。 这些设置计算一次,随后将缓存以供后续请求使用。ASP.NET 自动监视对文件进行的更改,并在该文件的层次结构内的任何配置文件发生更改时重新计算缓存。当服务器收到对特定 URL 的请求时,ASP.NET 将使用缓存中的配置设置层次结构来找到所请求的资源。 除非配置节元素中包括 restartOnExternalChanges="false" 属性,或者配置设置包含在使用 configSource 属性链接到 Web.config 文件的单独文件中,否则当配置发生更改时,应用程序将重新启动。 单个文件中配置的多个 ASP.NET 资源 当管理大量配置设置或者管理 ISP 设置中的客户端网站时,将多个位置的设置存储在一个 Web.config 文件中可能会非常有用。使用 location 元素的 path 属性,可以对存储在应用程序子目录中的多个特定的 ASP.NET 资源进行配置。 有关如何使用 location 元素的信息,请参见如何:使用位置设置配置特定目录。 虚拟目录中的设置和物理目录中的设置发生冲突 虚拟目录的配置设置独立于物理目录结构,必须小心组织虚拟目录以防止出现配置问题。例如,您可能有一个具有如下物理目录结构且名为 MyResource.aspx 的 ASP.NET 文件。 C: \Subdir1 \Subdir2 \MyResource.aspx 另外,您还可能拥有一个位于 Subdir1 的配置文件、一个映射到 c:\Subdir1 的名为 Vdir1 的虚拟目录以及一个映射到 c:\Subdir1\Subdir2 的名为 Vdir2 的虚拟目录。如果客户端使用 URL http://localhost/vdir1/subdir2/MyResource.aspx 访问物理位置为 c:\Subdir1\Subdir2\MyResource.aspx 的资源,则该资源将从 Vdir1 继承配置设置。但是,如果客户端使用 URL http://localhost/vdir2/MyResource.aspx 访问同样的资源,则该资源不从 Vdir1 继承设置。以这种方式创建虚拟目录可能会导致意外的结果,甚至会导致应用程序失败。建议您不要嵌套虚拟目录,如果不得不这样做的话,请只使用一个 Web.config 文件。 限制 ASP.NET 继承 您可能希望限制配置设置的继承,以增强应用程序的性能、保持高可靠性并简化管理。限制功能由 allowOverride、lockAttributes、lockAllAttributesExcept、lockAllElementsExcept、lockItem 和 lockElements 属性控制。有关这些属性的更多信息,请参见msdn。 |
