WebConfigurationManager.OpenMappedWebConfiguration 方法
定义
使用指定的文件映射将 Web 应用程序配置文件作为 Configuration 对象打开以允许读或写操作。Opens the Web-application configuration file as a Configuration object using the specified file mapping to allow read or write operations.
重载
| OpenMappedWebConfiguration(WebConfigurationFileMap, String) |
使用指定的文件映射和虚拟路径将指定的 Web 应用程序配置文件作为 Configuration 对象打开以允许读或写操作。Opens the specified Web-application configuration file as a Configuration object using the specified file mapping and virtual path to allow read or write operations. |
| OpenMappedWebConfiguration(WebConfigurationFileMap, String, String) |
使用指定的文件映射、虚拟路径和站点名称将指定的 Web 应用程序配置文件作为 Configuration 对象打开以允许读或写操作。Opens the specified Web application configuration file as a Configuration object using the specified file mapping, virtual path, and site name to allow read or write operations. |
| OpenMappedWebConfiguration(WebConfigurationFileMap, String, String, String) |
使用指定的文件映射、虚拟路径、站点名称和位置将指定的 Web 应用程序配置文件作为 Configuration 对象打开以允许读或写操作。Opens the specified Web-application configuration file as a Configuration object using the specified file mapping, virtual path, site name, and location to allow read or write operations. |
示例
下面的示例演示如何将虚拟目录层次结构映射到物理目录层次结构。The following example shows how to map a virtual directory hierarchy to a physical one. 此处显示的示例用于重载成员。The example shown here is used in the overloaded members.
// 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
注解
需要将虚拟目录层次结构映射到物理目录时,请使用映射机制。You use the mapping mechanism when you need to map your virtual directory hierarchy to a physical directory.
OpenMappedWebConfiguration(WebConfigurationFileMap, String)
使用指定的文件映射和虚拟路径将指定的 Web 应用程序配置文件作为 Configuration 对象打开以允许读或写操作。Opens the specified Web-application configuration file as a Configuration object using the specified file mapping and virtual path to allow read or write operations.
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 对象。The WebConfigurationFileMap object to use in place of a default Web-application configuration file.
- path
- String
配置文件的虚拟路径。The virtual path to the configuration file.
返回
Configuration 对象。A Configuration object.
例外
未能加载有效的配置文件。A valid configuration file could not be loaded.
示例
下面的示例显示如何使用 OpenMappedWebConfiguration 方法。The following example shows how to use the OpenMappedWebConfiguration method.
// 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 对象。The preceding example uses the following custom method to generate a ConfigurationFileMap object.
// 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有关演示如何将虚拟目录层次结构映射到物理目录层次结构的示例,请参阅。Refer to OpenMachineConfiguration for an example that shows how to map a virtual directory hierarchy to a physical one.
注解
若要获取 Configuration 资源的对象,你的代码必须对它继承其设置的所有配置文件具有读取权限。To obtain the Configuration object for a resource, your code must have read privileges on all the configuration files from which it inherits settings. 若要更新配置文件,你的代码还必须对配置文件及其所在的目录具有写入权限。To update a configuration file, your code must additionally have write privileges for both the configuration file and the directory in which it exists.
另请参阅
适用于
OpenMappedWebConfiguration(WebConfigurationFileMap, String, String)
使用指定的文件映射、虚拟路径和站点名称将指定的 Web 应用程序配置文件作为 Configuration 对象打开以允许读或写操作。Opens the specified Web application configuration file as a Configuration object using the specified file mapping, virtual path, and site name to allow read or write operations.
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 对象。The WebConfigurationFileMap object to use in place of a default Web-application configuration-file mapping.
- path
- String
配置文件的虚拟路径。The virtual path to the configuration file.
- site
- String
显示在 Internet 信息服务 (IIS) 配置中的应用程序网站的名称。The name of the application Web site, as displayed in Internet Information Services (IIS) configuration.
返回
Configuration 对象。A Configuration object.
例外
未能加载有效的配置文件。A valid configuration file could not be loaded.
示例
下面的示例显示如何使用 OpenMappedWebConfiguration 方法。The following example shows how to use the OpenMappedWebConfiguration method.
// 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有关演示如何将虚拟目录层次结构映射到物理目录层次结构的示例,请参阅。Refer to OpenMachineConfiguration for an example that shows how to map a virtual directory hierarchy to a physical one.
注解
若要获取 Configuration 资源的对象,你的代码必须对它继承其设置的所有配置文件具有读取权限。To obtain the Configuration object for a resource, your code must have read privileges on all the configuration files from which it inherits settings. 若要更新配置文件,你的代码还必须对配置文件及其所在的目录具有写入权限。To update a configuration file, your code must additionally have write privileges for both the configuration file and the directory in which it exists.
另请参阅
适用于
OpenMappedWebConfiguration(WebConfigurationFileMap, String, String, String)
使用指定的文件映射、虚拟路径、站点名称和位置将指定的 Web 应用程序配置文件作为 Configuration 对象打开以允许读或写操作。Opens the specified Web-application configuration file as a Configuration object using the specified file mapping, virtual path, site name, and location to allow read or write operations.
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 对象。The WebConfigurationFileMap object to use in place of a default Web-application configuration-file mapping.
- path
- String
配置文件的虚拟路径。The virtual path to the configuration file.
- site
- String
显示在 Internet 信息服务 (IIS) 配置中的应用程序网站的名称。The name of the application Web site, as displayed in Internet Information Services (IIS) configuration.
- locationSubPath
- String
配置应用的特定资源。The specific resource to which the configuration applies.
返回
Configuration 对象。A Configuration object.
例外
未能加载有效的配置文件。A valid configuration file could not be loaded.
示例
下面的示例显示如何使用 OpenMappedWebConfiguration 方法。The following example shows how to use the OpenMappedWebConfiguration method.
// 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有关演示如何将虚拟目录层次结构映射到物理目录层次结构的示例,请参阅。Refer to OpenMachineConfiguration for an example that shows how to map a virtual directory hierarchy to a physical one.
注解
若要获取 Configuration 资源的对象,你的代码必须对它继承其设置的所有配置文件具有读取权限。To obtain the Configuration object for a resource, your code must have read privileges on all the configuration files from which it inherits settings. 若要更新配置文件,你的代码还必须对配置文件及其所在的目录具有写入权限。To update a configuration file, your code must additionally have write privileges for both the configuration file and the directory in which it exists.