Rutas de configuración<configPaths>
El elemento <configPaths>
enumera las ubicaciones en las que se establece un valor de configuración en el sistema de archivos de configuración distribuido de Internet Information Services (IIS) 7. El contenido del elemento <configPaths>
se genera de manera dinámica y es accesible mediante programación para enumerar los valores configuración a partir de una ruta de acceso especificada por el usuario en cada ruta de acceso descendiente. También puede enumerar los valores de los archivos ApplicationHost.config y Web.config mediante el elemento <configPaths>
.
El elemento <configPaths>
contiene una colección de elementos <searchResult>
que especifican la siguiente información:
El atributo path de cada elemento
<searchResult>
especifica la ruta de acceso virtual absoluta del archivo de configuración para el resultado de la búsqueda. - El atributo locationPath de cada elemento<searchResult>
especifica la ruta de acceso relativa para la etiqueta<location>
dentro del archivo de configuración especificado por el atributo path.Nota
Si el elemento
<searchResult>
apunta a un archivo .config, el atributo locationPath para el elemento<searchResult>
contendrá una cadena vacía.El atributo status de cada elemento
<searchResult>
contiene un código HRESULT para el resultado de la búsqueda.Cada elemento
<searchResult>
contiene una colección de elementos<section>
que contienen el nombre de cada elemento en los resultados de la búsqueda.
Nota
El elemento <configPaths>
y sus elementos secundarios son de solo lectura y un usuario final no puede configurarlos.
Versión | Notas |
---|---|
IIS 10.0 | El elemento <configPaths> no se ha modificado en IIS 10.0. |
IIS 8.5 | El elemento <configPaths> no se ha modificado en IIS 8.5. |
IIS 8.0 | El elemento <configPaths> no se ha modificado en IIS 8.0. |
IIS 7.5 | El elemento <configPaths> no se ha modificado en IIS 7.5. |
IIS 7.0 | El elemento <configPaths> se introdujo en IIS 7.0. |
IIS 6,0 | N/D |
El elemento <configPaths>
se incluye en la instalación predeterminada de IIS 7.
No hay ninguna interfaz de usuario para configurar el elemento <configPaths>
para IIS 7. Para obtener ejemplos de cómo configurar el elemento <configPaths>
mediante programación, vea la sección Ejemplos de código de este documento.
Ninguno.
Elemento | Descripción |
---|---|
searchResult |
Contiene una colección de resultados de la búsqueda de configuración. |
Nota
El elemento <configPaths>
se genera dinámicamente. Por esto, no se puede agregar un elemento <configPaths>
a los archivos de configuración. Para obtener ejemplos de cómo acceder al elemento <configPaths>
mediante programación, vea la sección Ejemplos de código de este documento.
En los ejemplos de código siguientes se usa el elemento <configPaths>
para buscar el espacio de nombres de configuración de sitio web predeterminado para cada elemento <system.webServer/defaultDocument>
y, después, mostrar la ruta de acceso y la ubicación de cada elemento en la consola.
Nota
No se pueden consultar los valores de <configPaths>
mediante AppCmd.exe.
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetWebConfiguration("Default Web Site");
ConfigurationSection configPathsSection = config.GetSection("configPaths");
ConfigurationElementCollection searchResultCollection = configPathsSection.GetCollection();
foreach (ConfigurationElement searchResultElement in searchResultCollection)
{
string path = (string)searchResultElement["path"];
string locationPath = (string)searchResultElement["locationPath"];
foreach (ConfigurationElement sectionElement in searchResultElement.GetCollection())
{
if (string.Compare("system.webServer/defaultDocument",
(string)sectionElement["name"], false) == 0)
{
Console.WriteLine("Path: " + path);
if (!String.IsNullOrEmpty(locationPath))
{
Console.WriteLine("\tLocation: " + locationPath);
Console.WriteLine("\t\tName: " + sectionElement["name"]);
}
else Console.WriteLine("\tName: " + sectionElement["name"]);
}
}
}
}
}
}
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")
Dim configPathsSection As ConfigurationSection = config.GetSection("configPaths")
Dim searchResultCollection As ConfigurationElementCollection = configPathsSection.GetCollection
For Each searchResultElement As ConfigurationElement In searchResultCollection
Dim path As String = CType(searchResultElement("path"), String)
Dim locationPath As String = CType(searchResultElement("locationPath"), String)
For Each sectionElement As ConfigurationElement In searchResultElement.GetCollection
If (String.Compare("system.webServer/defaultDocument", _
CType(sectionElement("name"), String), False) = 0) Then
Console.WriteLine(("Path: " + path))
If Not String.IsNullOrEmpty(locationPath) Then
Console.WriteLine((vbTab & "Location: " + locationPath))
Console.WriteLine((vbTab & vbTab & "Name: " + sectionElement("name")))
Else
Console.WriteLine((vbTab & "Name: " + sectionElement("name")))
End If
End If
Next
Next
End Sub
End Module
var adminManager = new ActiveXObject("Microsoft.ApplicationHost.WritableAdminManager");
var configPathsSection = adminManager.GetAdminSection("configPaths", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var searchResultCollection = configPathsSection.Collection;
for (var i = 0; i < searchResultCollection.Count; i++)
{
var searchResultElement = searchResultCollection.Item(i);
var path = searchResultElement.GetPropertyByName("path").Value;
var locationPath = searchResultElement.GetPropertyByName("locationPath").Value;
sectionElementCollection = searchResultElement.Collection;
for (var j = 0; j < sectionElementCollection.Count; j++)
{
var sectionElement = sectionElementCollection.Item(j);
var name = sectionElement.GetPropertyByName("name").Value;
if (name == "system.webServer/defaultDocument")
{
WScript.Echo("Path: " + path);
if (locationPath!="")
{
WScript.Echo("\tLocation: " + locationPath);
WScript.Echo("\t\tName: " + name);
}
else WScript.Echo("\tName: " + name);
}
}
}
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
Set configPathsSection = adminManager.GetAdminSection("configPaths", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set searchResultCollection = configPathsSection.Collection
For i = 0 To CInt(searchResultCollection.Count) - 1
Set searchResultElement = searchResultCollection.Item(i)
path = searchResultElement.GetPropertyByName("path").Value
locationPath = searchResultElement.GetPropertyByName("locationPath").Value
Set sectionElementCollection = searchResultElement.Collection
For j = 0 To CInt(sectionElementCollection.Count) - 1
Set sectionElement = sectionElementCollection.Item(j)
name = sectionElement.GetPropertyByName("name").Value
If name = "system.webServer/defaultDocument" Then
WScript.Echo "Path: " + path
If locationPath<>"" Then
WScript.Echo(vbTab & "Location: " + locationPath)
WScript.Echo(vbTab & vbTab & "Name: " + name)
Else
WScript.Echo(vbTab & "Name: " + name)
End if
End If
Next
Next