WebConfigurationManager.OpenMappedWebConfiguration 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用指定的檔案對應,開啟 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 物件。
例外狀況
無法載入有效的組態檔。
範例
下列範例會示範如何使用 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 物件。
例外狀況
無法載入有效的組態檔。
範例
下列範例會示範如何使用 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 物件。
例外狀況
無法載入有效的組態檔。
範例
下列範例會示範如何使用 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 資源的 物件,您的程式碼必須具有其繼承設定之所有組態檔的讀取權限。 若要更新組態檔,您的程式碼必須另外具有組態檔及其所在目錄的寫入權限。