在 ASP.NET 应用程序中进行特定于应用程序和目录的配置设置
本文介绍如何在 ASP.NET 中创建特定于应用程序和特定于目录的配置设置。
原始产品版本: ASP.NET
原始 KB 编号: 815174
摘要
Web.config 文件位于 ASP.NET 应用程序的根目录中。 Web.config 文件指定特定于应用程序的配置信息。 还可以按目录设置配置设置。 可通过两种方法实现此目的:
将多个 Web.config 文件分发到应用程序中的目录。 在 ASP.NET 应用程序目录中添加一个 Web.config 文件,其中包含替代较高级别 Web.config 文件或系统计算机配置中的设置 (Machine.config) 文件中的设置。
将每个目录或每文件设置直接添加到应用程序 Web.config 文件。 此方法使用单个 Web.config 文件打开每个目录的配置设置。 还可以在 Machine.config 文件中使用此方法在 ASP.NET Web 应用程序上强制配置设置,然后阻止 Web.config 文件替代 Machine.config 设置。
使用 Machine.config 文件中的 location 元素
若要指定应用于 Web 应用程序或目录的设置,可以将 元素添加到<location>
<configuration>
系统 Machine.config 文件的 元素。 将配置设置集中到单个文件中时,此功能非常有用。 在 Web 托管环境中,强制对单个 Web 应用程序进行特定配置设置也很有用。
元素 <location>
包含两个属性, path
和 allowOverride
。 属性 path
定义配置设置涵盖的站点或虚拟目录。 若要指定 元素中的 <location>
设置应用于默认网站,请将 属性 path
设置为 Default Web Site
。 若要指定设置应用于默认网站中名为 MyApp 的应用程序,请将 属性 path
设置为 Default Web Site/MyApp
。
allowOverride
当 属性为 false 时,Web 应用程序目录中的Web.config 文件无法替代在 元素中指定的<location>
设置。 在必须限制应用程序开发人员配置 Web 应用程序的方式的环境中,这是一个有用的设置。 以下示例演示 Machine.config 文件的一部分。 该文件需要身份验证才能访问默认网站上的 MyApp 应用程序,并且无法由 Web.config 文件中的设置替代。
<configuration>
<location path="Default Web Site/MyApp" allowOverride="false">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
</configuration>
使用 Web.config 文件中的 location 元素
若要指定应用于特定应用程序或目录的设置,请将 <location>
元素 <configuration>
添加到应用程序的 元素 Web.config 文件。 元素 <location>
通常包含元素 <system.web>
和其他配置元素,就像在 Web.config 文件中使用它们一样。 path
元素的 <location>
属性指定位置配置项适用的虚拟目录或文件名。 以下示例演示应用程序 Web.config 文件的一部分,该文件指定论坛虚拟目录的自定义错误消息。
<configuration>
<location path="forum" >
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="forum-error.aspx">
<error statusCode="404" redirect="forum-file-not-found.aspx" />
</customErrors>
</system.web>
</location>
</configuration>
References
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈