如何:使用位置设置配置特定目录

更新:2007 年 11 月

通过将 location 元素与 path 属性的适当值一起使用,可以将配置设置应用于特定的文件夹和文件。path 属性可用于标识应用唯一配置设置的特定文件或子目录。在 path 属性中只能使用一个文件路径。location 元素优先于当前 Web.config 文件中的任何 ASP.NET 配置设置。

可以通过使用 ASP.NET 配置 API 以编程方式设置 location 元素,也可以通过使用 ASP.NET MMC 管理单元中的**“位置”**选项卡来设置该元素。

Path 属性的默认值为“.”。多个 location 元素可以存在于同一个配置文件中,并为相同的配置节指定不同的范围,如下面的示例所示:

  <location path="." >
    <section1 … />
    <section2 … />
  </location>
  <location path="Default Web Site" >
    <section1 … />
    <section2 … />
  </location
  <location path="Default Web Site/foo/bar/xyz.html" >
    <section1 … />
    <section2 … />
  </location>

示例

下面的代码示例演示一个配置文件,该文件为两个特定的资源指定设置:

  • 仅应用于 Sub1 子目录的设置位于 <location> 与 </location> 标记之间,path 属性设置为 Sub1。

  • 仅应用于 Sub2 子目录的设置位于 <location> 与 </location> 标记之间,path 属性设置为 Sub1。

应用于当前目录和所有子目录的设置位于 <configuration> 和 </configuration> 标记之间,但是它们不包括在 <location> 与 </location> 标记之间。

<configuration>
  <system.web>
    <sessionState cookieless="true" timeout="10" />
  </system.web>

  <!-- Configuration for the "Sub1" subdirectory. -->
  <location path="sub1">
    <system.web>
      <httpHandlers>
        <add verb="*" path="Sub1.Scott" type="Sub1.Scott" />
        <add verb="*" path="Sub1.David" type="Sub1.David" />
      </httpHandlers>
    </system.web>
  </location>

  <!-- Configuration for the "Sub2" subdirectory. -->
  <location path="sub2">
    <system.web>
      <httpHandlers>
        <add verb="*" path="Sub2.Scott" type="Sub2.Scott" />
        <add verb="*" path="Sub2.David" type="Sub2.David" />
      </httpHandlers>
    </system.web>
  </location>
</configuration>

请参见

任务

如何:锁定 ASP.NET 配置设置

其他资源

ASP.NET 的 MMC 管理单元