Compartir vía


WebConfigurationManager.OpenMappedWebConfiguration Método

Definición

Abre el archivo de configuración de la aplicación Web como un objeto Configuration, utilizando la asignación de archivos especificada para permitir operaciones de lectura o escritura.

Sobrecargas

OpenMappedWebConfiguration(WebConfigurationFileMap, String)

Abre el archivo de configuración de la aplicación Web especificado como un objeto Configuration, utilizando la asignación de archivos y la ruta de acceso virtual especificadas para permitir operaciones de lectura o escritura.

OpenMappedWebConfiguration(WebConfigurationFileMap, String, String)

Abre el archivo de configuración de la aplicación Web especificado como un objeto Configuration, utilizando la asignación de archivos, la ruta de acceso virtual y el nombre de sitio especificados para permitir operaciones de lectura o escritura.

OpenMappedWebConfiguration(WebConfigurationFileMap, String, String, String)

Abre el archivo de configuración de la aplicación Web especificado como un objeto Configuration, utilizando la asignación de archivos, la ruta de acceso virtual, el nombre de sitio y la ubicación especificados para permitir operaciones de lectura o escritura.

Ejemplos

En el ejemplo siguiente se muestra cómo asignar una jerarquía de directorios virtuales a una física. El ejemplo que se muestra aquí se usa en los miembros sobrecargados.


        // Utility to map virtual directories to physical ones.
        // In the current physical directory maps 
        // a physical sub-directory with its virtual directory.
        // A web.config file is created for the
        // default and the virtual directory at the appropriate level.
        // You must create a physical directory called config at the
        // level where your app is running.
        static WebConfigurationFileMap CreateFileMap()
        {

            WebConfigurationFileMap fileMap =
                   new WebConfigurationFileMap();

            // Get he physical directory where this app runs.
            // We'll use it to map the virtual directories
            // defined next. 
            string physDir = Environment.CurrentDirectory;

            // Create a VirtualDirectoryMapping object to use
            // as the root directory for the virtual directory
            // named config. 
            // Note: you must assure that you have a physical subdirectory
            // named config in the curremt physical directory where this
            // application runs.
            VirtualDirectoryMapping vDirMap = 
                new VirtualDirectoryMapping(physDir + "\\config", true);

            // Add vDirMap to the VirtualDirectories collection 
            // assigning to it the virtual directory name.
            fileMap.VirtualDirectories.Add("/config", vDirMap);

            // Create a VirtualDirectoryMapping object to use
            // as the default directory for all the virtual 
            // directories.
            VirtualDirectoryMapping vDirMapBase =
                new VirtualDirectoryMapping(physDir, true, "web.config");

            // Add it to the virtual directory mapping collection.
            fileMap.VirtualDirectories.Add("/", vDirMapBase);

# if DEBUG  
            // Test at debug time.
            foreach (string key in fileMap.VirtualDirectories.AllKeys)
            {
                Console.WriteLine("Virtual directory: {0} Physical path: {1}",
                fileMap.VirtualDirectories[key].VirtualDirectory, 
                fileMap.VirtualDirectories[key].PhysicalDirectory);
            }
# endif 

            // Return the mapping.
            return fileMap;
        }
   ' Utility to map virtual directories to physical ones.
   ' In the current physical directory maps 
   ' a physical sub-directory with its virtual directory.
   ' A web.config file is created for the
    ' default and the virtual directory at the appropriate level.
    'You must create a physical directory called config at the
    'level where your app is running.
   Shared Function CreateFileMap() As WebConfigurationFileMap
      
      Dim fileMap As New WebConfigurationFileMap()
      
      ' Get he physical directory where this app runs.
      ' We'll use it to map the virtual directories
      ' defined next. 
      Dim physDir As String = Environment.CurrentDirectory
      
      ' Create a VirtualDirectoryMapping object to use
      ' as the root directory for the virtual directory
      ' named config. 
      ' Note: you must assure that you have a physical subdirectory
      ' named config in the curremt physical directory where this
      ' application runs.
        Dim vDirMap As New VirtualDirectoryMapping(physDir + _
        "\config", True)
      
      ' Add vDirMap to the VirtualDirectories collection 
      ' assigning to it the virtual directory name.
      fileMap.VirtualDirectories.Add("/config", vDirMap)
      
      ' Create a VirtualDirectoryMapping object to use
      ' as the default directory for all the virtual 
      ' directories.
        Dim vDirMapBase As New VirtualDirectoryMapping(physDir, _
        True, "web.config")
      
      ' Add it to the virtual directory mapping collection.
      fileMap.VirtualDirectories.Add("/", vDirMapBase)
      
    
#If DEBUG Then
      Dim key As String
      For Each key In  fileMap.VirtualDirectories.AllKeys
            Console.WriteLine("Virtual directory: {0} Physical path: {1}", _
            fileMap.VirtualDirectories(key).VirtualDirectory, _
            fileMap.VirtualDirectories(key).PhysicalDirectory)
      Next key
#End If

      ' Return the mapping.
      Return fileMap

    End Function 'CreateFileMap

Comentarios

Use el mecanismo de asignación cuando necesite asignar la jerarquía de directorios virtuales a un directorio físico.

OpenMappedWebConfiguration(WebConfigurationFileMap, String)

Abre el archivo de configuración de la aplicación Web especificado como un objeto Configuration, utilizando la asignación de archivos y la ruta de acceso virtual especificadas para permitir operaciones de lectura o escritura.

public:
 static System::Configuration::Configuration ^ OpenMappedWebConfiguration(System::Web::Configuration::WebConfigurationFileMap ^ fileMap, System::String ^ path);
public static System.Configuration.Configuration OpenMappedWebConfiguration (System.Web.Configuration.WebConfigurationFileMap fileMap, string path);
static member OpenMappedWebConfiguration : System.Web.Configuration.WebConfigurationFileMap * string -> System.Configuration.Configuration
Public Shared Function OpenMappedWebConfiguration (fileMap As WebConfigurationFileMap, path As String) As Configuration

Parámetros

fileMap
WebConfigurationFileMap

Objeto WebConfigurationFileMap que se utilizará en lugar de un archivo predeterminado de configuración de la aplicación Web.

path
String

Ruta de acceso virtual al archivo de configuración.

Devoluciones

Configuration

Un objeto Configuration.

Excepciones

No se pudo cargar un archivo de configuración válido.

Ejemplos

En el siguiente ejemplo, se muestra cómo utilizar el método OpenMappedWebConfiguration.


// Show how to use the OpenMappedWebConfiguration(
// WebConfigurationFileMap, string)
static void OpenMappedWebConfiguration1()
{

    // Create the configuration directories mapping.
    WebConfigurationFileMap fileMap = 
        CreateFileMap();

    try
    {

        // Get the Configuration object for the mapped
        // virtual directory.
        System.Configuration.Configuration config =
            WebConfigurationManager.OpenMappedWebConfiguration(fileMap, 
            "/config");

        // Define a nique key for the creation of 
        // an appSettings element entry.
        int appStgCnt = config.AppSettings.Settings.Count;
        string asName = "AppSetting" + appStgCnt.ToString();

        // Add a new element to the appSettings.
        config.AppSettings.Settings.Add(asName,
            DateTime.Now.ToLongDateString() + " " +
            DateTime.Now.ToLongTimeString());

        // Save to the configuration file.
        config.Save(ConfigurationSaveMode.Modified);
      
        // Display new appSettings.
        Console.WriteLine("Count:  [{0}]", config.AppSettings.Settings.Count);
        foreach (string key in config.AppSettings.Settings.AllKeys)
        { 
            Console.WriteLine("[{0}] = [{1}]", key, 
                config.AppSettings.Settings[key].Value);
        }
    }
    catch (InvalidOperationException err)
    {
        Console.WriteLine(err.ToString());
    }

    Console.WriteLine();
}
' Show how to use the OpenMappedWebConfiguration(
' WebConfigurationFileMap, string)
Shared Sub OpenMappedWebConfiguration1()
   
   ' Create the configuration directories mapping.
   Dim fileMap As WebConfigurationFileMap = CreateFileMap()
   
   Try
      
      ' Get the Configuration object for the mapped
      ' virtual directory.
         Dim config As System.Configuration.Configuration = _
         WebConfigurationManager.OpenMappedWebConfiguration( _
         fileMap, "/config")
      
      ' Define a nique key for the creation of 
      ' an appSettings element entry.
      Dim appStgCnt As Integer = config.AppSettings.Settings.Count
      Dim asName As String = "AppSetting" + appStgCnt.ToString()
      
      ' Add a new element to the appSettings.
         config.AppSettings.Settings.Add(asName, _
         DateTime.Now.ToLongDateString() + " " + _
         DateTime.Now.ToLongTimeString())
      
      ' Save to the configuration file.
      config.Save(ConfigurationSaveMode.Modified)
      
      ' Display new appSettings.
         Console.WriteLine("Count:  [{0}]", _
         config.AppSettings.Settings.Count)
      Dim key As String
      For Each key In  config.AppSettings.Settings.AllKeys
             Console.WriteLine("[{0}] = [{1}]", _
             key, config.AppSettings.Settings(key).Value)
      Next key
   
   Catch err As InvalidOperationException
      Console.WriteLine(err.ToString())
   End Try
   
   Console.WriteLine()
End Sub

En el ejemplo anterior se usa el siguiente método personalizado para generar un ConfigurationFileMap objeto .


        // Utility to map virtual directories to physical ones.
        // In the current physical directory maps 
        // a physical sub-directory with its virtual directory.
        // A web.config file is created for the
        // default and the virtual directory at the appropriate level.
        // You must create a physical directory called config at the
        // level where your app is running.
        static WebConfigurationFileMap CreateFileMap()
        {

            WebConfigurationFileMap fileMap =
                   new WebConfigurationFileMap();

            // Get he physical directory where this app runs.
            // We'll use it to map the virtual directories
            // defined next. 
            string physDir = Environment.CurrentDirectory;

            // Create a VirtualDirectoryMapping object to use
            // as the root directory for the virtual directory
            // named config. 
            // Note: you must assure that you have a physical subdirectory
            // named config in the curremt physical directory where this
            // application runs.
            VirtualDirectoryMapping vDirMap = 
                new VirtualDirectoryMapping(physDir + "\\config", true);

            // Add vDirMap to the VirtualDirectories collection 
            // assigning to it the virtual directory name.
            fileMap.VirtualDirectories.Add("/config", vDirMap);

            // Create a VirtualDirectoryMapping object to use
            // as the default directory for all the virtual 
            // directories.
            VirtualDirectoryMapping vDirMapBase =
                new VirtualDirectoryMapping(physDir, true, "web.config");

            // Add it to the virtual directory mapping collection.
            fileMap.VirtualDirectories.Add("/", vDirMapBase);

# if DEBUG  
            // Test at debug time.
            foreach (string key in fileMap.VirtualDirectories.AllKeys)
            {
                Console.WriteLine("Virtual directory: {0} Physical path: {1}",
                fileMap.VirtualDirectories[key].VirtualDirectory, 
                fileMap.VirtualDirectories[key].PhysicalDirectory);
            }
# endif 

            // Return the mapping.
            return fileMap;
        }
   ' Utility to map virtual directories to physical ones.
   ' In the current physical directory maps 
   ' a physical sub-directory with its virtual directory.
   ' A web.config file is created for the
    ' default and the virtual directory at the appropriate level.
    'You must create a physical directory called config at the
    'level where your app is running.
   Shared Function CreateFileMap() As WebConfigurationFileMap
      
      Dim fileMap As New WebConfigurationFileMap()
      
      ' Get he physical directory where this app runs.
      ' We'll use it to map the virtual directories
      ' defined next. 
      Dim physDir As String = Environment.CurrentDirectory
      
      ' Create a VirtualDirectoryMapping object to use
      ' as the root directory for the virtual directory
      ' named config. 
      ' Note: you must assure that you have a physical subdirectory
      ' named config in the curremt physical directory where this
      ' application runs.
        Dim vDirMap As New VirtualDirectoryMapping(physDir + _
        "\config", True)
      
      ' Add vDirMap to the VirtualDirectories collection 
      ' assigning to it the virtual directory name.
      fileMap.VirtualDirectories.Add("/config", vDirMap)
      
      ' Create a VirtualDirectoryMapping object to use
      ' as the default directory for all the virtual 
      ' directories.
        Dim vDirMapBase As New VirtualDirectoryMapping(physDir, _
        True, "web.config")
      
      ' Add it to the virtual directory mapping collection.
      fileMap.VirtualDirectories.Add("/", vDirMapBase)
      
    
#If DEBUG Then
      Dim key As String
      For Each key In  fileMap.VirtualDirectories.AllKeys
            Console.WriteLine("Virtual directory: {0} Physical path: {1}", _
            fileMap.VirtualDirectories(key).VirtualDirectory, _
            fileMap.VirtualDirectories(key).PhysicalDirectory)
      Next key
#End If

      ' Return the mapping.
      Return fileMap

    End Function 'CreateFileMap

OpenMachineConfiguration Consulte para ver un ejemplo que muestra cómo asignar una jerarquía de directorios virtuales a una física.

Comentarios

Para obtener el objeto de un recurso, el Configuration código debe tener privilegios de lectura en todos los archivos de configuración de los que hereda la configuración. Para actualizar un archivo de configuración, el código también debe tener privilegios de escritura para el archivo de configuración y el directorio en el que existe.

Consulte también

Se aplica a

OpenMappedWebConfiguration(WebConfigurationFileMap, String, String)

Abre el archivo de configuración de la aplicación Web especificado como un objeto Configuration, utilizando la asignación de archivos, la ruta de acceso virtual y el nombre de sitio especificados para permitir operaciones de lectura o escritura.

public:
 static System::Configuration::Configuration ^ OpenMappedWebConfiguration(System::Web::Configuration::WebConfigurationFileMap ^ fileMap, System::String ^ path, System::String ^ site);
public static System.Configuration.Configuration OpenMappedWebConfiguration (System.Web.Configuration.WebConfigurationFileMap fileMap, string path, string site);
static member OpenMappedWebConfiguration : System.Web.Configuration.WebConfigurationFileMap * string * string -> System.Configuration.Configuration
Public Shared Function OpenMappedWebConfiguration (fileMap As WebConfigurationFileMap, path As String, site As String) As Configuration

Parámetros

fileMap
WebConfigurationFileMap

Objeto WebConfigurationFileMap que se utilizará en lugar de una asignación predeterminada de archivo de configuración de la aplicación Web.

path
String

Ruta de acceso virtual al archivo de configuración.

site
String

Nombre del sitio Web de la aplicación, tal como se muestra en la configuración de IIS (Microsoft Internet Information Services).

Devoluciones

Configuration

Un objeto Configuration.

Excepciones

No se pudo cargar un archivo de configuración válido.

Ejemplos

En el siguiente ejemplo, se muestra cómo utilizar el método OpenMappedWebConfiguration.


// Show how to use the OpenMappedWebConfiguration(
// WebConfigurationFileMap, string, string).
static void OpenMappedWebConfiguration2()
{

    // Create the configuration directories mapping.
    WebConfigurationFileMap fileMap =
        CreateFileMap();

    try
    {

        // Get the Configuration object for the mapped
        // virtual directory.
        System.Configuration.Configuration config = 
            WebConfigurationManager.OpenMappedWebConfiguration(
            fileMap, "/config", "config");
        
        // Define a nique key for the creation of 
        // an appSettings element entry.
        int appStgCnt = config.AppSettings.Settings.Count;
        string asName = "AppSetting" + appStgCnt.ToString();

        // Add a new element to the appSettings.
        config.AppSettings.Settings.Add(asName,
            DateTime.Now.ToLongDateString() + " " +
            DateTime.Now.ToLongTimeString());

        // Save to the configuration file.
        config.Save(ConfigurationSaveMode.Modified);

        // Display new appSettings.
        Console.WriteLine("Count:  [{0}]", 
            config.AppSettings.Settings.Count);
        foreach (string key in config.AppSettings.Settings.AllKeys)
        {
            Console.WriteLine("[{0}] = [{1}]", key,
                config.AppSettings.Settings[key].Value);
        }
    }
    catch (InvalidOperationException err)
    {
        Console.WriteLine(err.ToString());
    }

    Console.WriteLine();
}
' Show how to use the OpenMappedWebConfiguration(
' WebConfigurationFileMap, string, string).
Shared Sub OpenMappedWebConfiguration2()
   
   ' Create the configuration directories mapping.
   Dim fileMap As WebConfigurationFileMap = CreateFileMap()
   
   Try
      
      ' Get the Configuration object for the mapped
      ' virtual directory.
         Dim config As System.Configuration.Configuration = _
         WebConfigurationManager.OpenMappedWebConfiguration( _
         fileMap, "/config", "config")
      
      ' Define a nique key for the creation of 
      ' an appSettings element entry.
      Dim appStgCnt As Integer = config.AppSettings.Settings.Count
      Dim asName As String = "AppSetting" + appStgCnt.ToString()
      
      ' Add a new element to the appSettings.
         config.AppSettings.Settings.Add(asName, _
         DateTime.Now.ToLongDateString() + " " + _
         DateTime.Now.ToLongTimeString())
      
      ' Save to the configuration file.
      config.Save(ConfigurationSaveMode.Modified)
      
      ' Display new appSettings.
         Console.WriteLine("Count:  [{0}]", _
         config.AppSettings.Settings.Count)
      Dim key As String
      For Each key In  config.AppSettings.Settings.AllKeys
             Console.WriteLine("[{0}] = [{1}]", _
             key, config.AppSettings.Settings(key).Value)
      Next key
   
   Catch err As InvalidOperationException
      Console.WriteLine(err.ToString())
   End Try
   
   Console.WriteLine()
End Sub

OpenMachineConfiguration Consulte para ver un ejemplo que muestra cómo asignar una jerarquía de directorios virtuales a una física.

Comentarios

Para obtener el objeto de un recurso, el Configuration código debe tener privilegios de lectura en todos los archivos de configuración de los que hereda la configuración. Para actualizar un archivo de configuración, el código también debe tener privilegios de escritura para el archivo de configuración y el directorio en el que existe.

Consulte también

Se aplica a

OpenMappedWebConfiguration(WebConfigurationFileMap, String, String, String)

Abre el archivo de configuración de la aplicación Web especificado como un objeto Configuration, utilizando la asignación de archivos, la ruta de acceso virtual, el nombre de sitio y la ubicación especificados para permitir operaciones de lectura o escritura.

public:
 static System::Configuration::Configuration ^ OpenMappedWebConfiguration(System::Web::Configuration::WebConfigurationFileMap ^ fileMap, System::String ^ path, System::String ^ site, System::String ^ locationSubPath);
public static System.Configuration.Configuration OpenMappedWebConfiguration (System.Web.Configuration.WebConfigurationFileMap fileMap, string path, string site, string locationSubPath);
static member OpenMappedWebConfiguration : System.Web.Configuration.WebConfigurationFileMap * string * string * string -> System.Configuration.Configuration
Public Shared Function OpenMappedWebConfiguration (fileMap As WebConfigurationFileMap, path As String, site As String, locationSubPath As String) As Configuration

Parámetros

fileMap
WebConfigurationFileMap

Objeto WebConfigurationFileMap que se utilizará en lugar de una asignación predeterminada de archivo de configuración de la aplicación Web.

path
String

Ruta de acceso virtual al archivo de configuración.

site
String

Nombre del sitio Web de la aplicación, tal como se muestra en la configuración de IIS (Microsoft Internet Information Services).

locationSubPath
String

Recurso específico al que se aplica la configuración.

Devoluciones

Configuration

Un objeto Configuration.

Excepciones

No se pudo cargar un archivo de configuración válido.

Ejemplos

En el siguiente ejemplo, se muestra cómo utilizar el método OpenMappedWebConfiguration.


// Show how to use the OpenMappedWebConfiguration(
// WebConfigurationFileMap, string, string, string).
static void OpenMappedWebConfiguration3()
{

    // Create the configuration directories mapping.
    WebConfigurationFileMap fileMap =
        CreateFileMap();

    try
    {

        // Get the Configuration object for the mapped
        // virtual directory.
        System.Configuration.Configuration config =
            WebConfigurationManager.OpenMappedWebConfiguration(
            fileMap, "/config", "config", "config");

        // Define a nique key for the creation of 
        // an appSettings element entry.
        int appStgCnt = config.AppSettings.Settings.Count;
        string asName = "AppSetting" + appStgCnt.ToString();

        // Add a new element to the appSettings.
        config.AppSettings.Settings.Add(asName,
            DateTime.Now.ToLongDateString() + " " +
            DateTime.Now.ToLongTimeString());

        // Save to the configuration file.
        config.Save(ConfigurationSaveMode.Modified);

        // Display new appSettings.
        Console.WriteLine("Count:  [{0}]", 
            config.AppSettings.Settings.Count);
        foreach (string key in config.AppSettings.Settings.AllKeys)
        {
            Console.WriteLine("[{0}] = [{1}]", key,
                config.AppSettings.Settings[key].Value);
        }
    }
    catch (InvalidOperationException err)
    {
        Console.WriteLine(err.ToString());
    }

    Console.WriteLine();
}
' Show how to use the OpenMappedWebConfiguration(
' WebConfigurationFileMap, string, string, string).
Shared Sub OpenMappedWebConfiguration3()
   
   ' Create the configuration directories mapping.
   Dim fileMap As WebConfigurationFileMap = CreateFileMap()
   
   Try
      
      ' Get the Configuration object for the mapped
      ' virtual directory.
         Dim config As System.Configuration.Configuration = _
         WebConfigurationManager.OpenMappedWebConfiguration( _
         fileMap, "/config", "config", "config")
      
      ' Define a nique key for the creation of 
      ' an appSettings element entry.
      Dim appStgCnt As Integer = config.AppSettings.Settings.Count
      Dim asName As String = "AppSetting" + appStgCnt.ToString()
      
      ' Add a new element to the appSettings.
         config.AppSettings.Settings.Add(asName, _
         DateTime.Now.ToLongDateString() + " " + _
         DateTime.Now.ToLongTimeString())
      
      ' Save to the configuration file.
      config.Save(ConfigurationSaveMode.Modified)
      
      ' Display new appSettings.
         Console.WriteLine("Count:  [{0}]", _
         config.AppSettings.Settings.Count)
      Dim key As String
      For Each key In  config.AppSettings.Settings.AllKeys
             Console.WriteLine("[{0}] = [{1}]", _
             key, config.AppSettings.Settings(key).Value)
      Next key
   
   Catch err As InvalidOperationException
      Console.WriteLine(err.ToString())
   End Try
   
   Console.WriteLine()
End Sub

OpenMachineConfiguration Consulte para ver un ejemplo que muestra cómo asignar una jerarquía de directorios virtuales a una física.

Comentarios

Para obtener el objeto de un recurso, el Configuration código debe tener privilegios de lectura en todos los archivos de configuración de los que hereda la configuración. Para actualizar un archivo de configuración, el código también debe tener privilegios de escritura para el archivo de configuración y el directorio en el que existe.

Consulte también

Se aplica a