次の方法で共有


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

インターネット インフォメーション サービス (IIS: Internet Information Services) の構成に表示される、アプリケーション Web サイトの名前。

戻り値

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

インターネット インフォメーション サービス (IIS: Internet Information Services) の構成に表示される、アプリケーション Web サイトの名前。

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 取得するには、設定を継承するすべての構成ファイルに対する読み取り権限がコードに必要です。 構成ファイルを更新するには、構成ファイルとそれが存在するディレクトリの両方に対する書き込み権限がコードに追加的に付与されている必要があります。

こちらもご覧ください

適用対象