共用方式為


WebConfigurationManager.OpenMappedWebConfiguration 方法

定義

使用指定的檔案對應,開啟 Web 應用程式組態檔做為 Configuration 物件,以允許讀取或寫入作業。

多載

OpenMappedWebConfiguration(WebConfigurationFileMap, String)

使用指定的檔案對應和虛擬路徑,開啟指定的 Web 應用程式組態檔做為 Configuration 物件,以允許讀取或寫入作業。

OpenMappedWebConfiguration(WebConfigurationFileMap, String, String)

使用指定的檔案對應、虛擬路徑和網站名稱,開啟指定的 Web 應用程式組態檔做為 Configuration 物件,以允許讀取或寫入作業。

OpenMappedWebConfiguration(WebConfigurationFileMap, String, String, String)

使用指定的檔案對應、虛擬路徑、網站名稱和位置,開啟指定的 Web 應用程式組態檔做為 Configuration 物件,以允許讀取或寫入作業。

範例

下列範例示範如何將虛擬目錄階層對應至實體目錄階層。 此處顯示的範例用於多載成員。


        // 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

備註

當您需要將虛擬目錄階層對應至實體目錄時,請使用對應機制。

OpenMappedWebConfiguration(WebConfigurationFileMap, String)

使用指定的檔案對應和虛擬路徑,開啟指定的 Web 應用程式組態檔做為 Configuration 物件,以允許讀取或寫入作業。

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

參數

fileMap
WebConfigurationFileMap

用於取代預設 Web 應用程式組態檔的 WebConfigurationFileMap 物件。

path
String

組態檔的虛擬路徑。

傳回

Configuration

Configuration 物件。

例外狀況

無法載入有效的組態檔。

範例

下列範例會示範如何使用 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

上述範例會使用下列自訂方法來產生 ConfigurationFileMap 物件。


        // 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如需示範如何將虛擬目錄階層對應至實體階層的範例,請參閱 。

備註

若要取得 Configuration 資源的 物件,您的程式碼必須具有其繼承設定之所有組態檔的讀取權限。 若要更新組態檔,您的程式碼必須另外具有組態檔及其所在目錄的寫入權限。

另請參閱

適用於

OpenMappedWebConfiguration(WebConfigurationFileMap, String, String)

使用指定的檔案對應、虛擬路徑和網站名稱,開啟指定的 Web 應用程式組態檔做為 Configuration 物件,以允許讀取或寫入作業。

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

參數

fileMap
WebConfigurationFileMap

用於取代預設 Web 應用程式組態檔對應的 WebConfigurationFileMap 物件。

path
String

組態檔的虛擬路徑。

site
String

Internet Information Services (IIS) 組態中顯示的應用程式網站名稱。

傳回

Configuration

Configuration 物件。

例外狀況

無法載入有效的組態檔。

範例

下列範例會示範如何使用 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如需示範如何將虛擬目錄階層對應至實體階層的範例,請參閱 。

備註

若要取得 Configuration 資源的 物件,您的程式碼必須具有其繼承設定之所有組態檔的讀取權限。 若要更新組態檔,您的程式碼必須另外具有組態檔及其所在目錄的寫入權限。

另請參閱

適用於

OpenMappedWebConfiguration(WebConfigurationFileMap, String, String, String)

使用指定的檔案對應、虛擬路徑、網站名稱和位置,開啟指定的 Web 應用程式組態檔做為 Configuration 物件,以允許讀取或寫入作業。

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

參數

fileMap
WebConfigurationFileMap

用於取代預設 Web 應用程式組態檔對應的 WebConfigurationFileMap 物件。

path
String

組態檔的虛擬路徑。

site
String

Internet Information Services (IIS) 組態中顯示的應用程式網站名稱。

locationSubPath
String

套用此組態的特定資源。

傳回

Configuration

Configuration 物件。

例外狀況

無法載入有效的組態檔。

範例

下列範例會示範如何使用 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如需示範如何將虛擬目錄階層對應至實體階層的範例,請參閱 。

備註

若要取得 Configuration 資源的 物件,您的程式碼必須具有其繼承設定之所有組態檔的讀取權限。 若要更新組態檔,您的程式碼必須另外具有組態檔及其所在目錄的寫入權限。

另請參閱

適用於