如何:使用位置设置配置特定目录
更新: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>