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 信息服务 (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 信息服务 (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 资源的对象,代码必须具有对其继承设置的所有配置文件的读取权限。 若要更新配置文件,代码还必须具有配置文件及其所在的目录的写入权限。