AppSettingsSection Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обеспечивает поддержку системы конфигурации для раздела конфигурации appSettings
. Этот класс не наследуется.
public ref class AppSettingsSection sealed : System::Configuration::ConfigurationSection
public sealed class AppSettingsSection : System.Configuration.ConfigurationSection
type AppSettingsSection = class
inherit ConfigurationSection
Public NotInheritable Class AppSettingsSection
Inherits ConfigurationSection
- Наследование
Примеры
В следующем примере показано, как использовать AppSettingsSection класс в консольном приложении. Он считывает и записывает пары "ключ-значение", содержащиеся в appSettings
разделе . Здесь также показано, как получить доступ File к свойству AppSettingsSection класса .
Примечание
Перед компиляцией этого кода добавьте в проект ссылку на System.Configuration.dll.
using System;
using System.Collections.Specialized;
using System.Configuration;
using System.Text;
using System.IO;
// IMPORTANT: To compile this example, you must add to the project
// a reference to the System.Configuration assembly.
//
class UsingAppSettingsSection
{
#region UsingAppSettingsSection
// This function shows how to use the File property of the
// appSettings section.
// The File property is used to specify an auxiliary
// configuration file.
// Usually you create an auxiliary file off-line to store
// additional settings that you can modify as needed without
// causing an application restart,as in the case of a Web
// application.
// These settings are then added to the ones defined in the
// application configuration file.
static void IntializeConfigurationFile()
{
// Create a set of unique key/value pairs to store in
// the appSettings section of an auxiliary configuration
// file.
string time1 = String.Concat(DateTime.Now.ToLongDateString(),
" ", DateTime.Now.ToLongTimeString());
string time2 = String.Concat(DateTime.Now.ToLongDateString(),
" ", new DateTime(2009, 06, 30).ToLongTimeString());
string[] buffer = {"<appSettings>",
"<add key='AuxAppStg0' value='" + time1 + "'/>",
"<add key='AuxAppStg1' value='" + time2 + "'/>",
"</appSettings>"};
// Create an auxiliary configuration file and store the
// appSettings defined before.
// Note creating a file at run-time is just for demo
// purposes to run this example.
File.WriteAllLines("auxiliaryFile.config", buffer);
// Get the current configuration associated
// with the application.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// Associate the auxiliary with the default
// configuration file.
System.Configuration.AppSettingsSection appSettings = config.AppSettings;
appSettings.File = "auxiliaryFile.config";
// Save the configuration file.
config.Save(ConfigurationSaveMode.Modified);
// Force a reload in memory of the
// changed section.
ConfigurationManager.RefreshSection("appSettings");
}
// This function shows how to write a key/value
// pair to the appSettings section.
static void WriteAppSettings()
{
try
{
// Get the application configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// Create a unique key/value pair to add to
// the appSettings section.
string keyName = "AppStg" + config.AppSettings.Settings.Count;
string value = string.Concat(DateTime.Now.ToLongDateString(),
" ", DateTime.Now.ToLongTimeString());
// Add the key/value pair to the appSettings
// section.
// config.AppSettings.Settings.Add(keyName, value);
System.Configuration.AppSettingsSection appSettings = config.AppSettings;
appSettings.Settings.Add(keyName, value);
// Save the configuration file.
config.Save(ConfigurationSaveMode.Modified);
// Force a reload in memory of the changed section.
// This to read the section with the
// updated values.
ConfigurationManager.RefreshSection("appSettings");
Console.WriteLine(
"Added the following Key: {0} Value: {1} .", keyName, value);
}
catch (Exception e)
{
Console.WriteLine("Exception raised: {0}",
e.Message);
}
}
// This function shows how to read the key/value
// pairs (settings collection)contained in the
// appSettings section.
static void ReadAppSettings()
{
try
{
// Get the configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// Get the appSettings section.
System.Configuration.AppSettingsSection appSettings =
(System.Configuration.AppSettingsSection)config.GetSection("appSettings");
// Get the auxiliary file name.
Console.WriteLine("Auxiliary file: {0}", config.AppSettings.File);
// Get the settings collection (key/value pairs).
if (appSettings.Settings.Count != 0)
{
foreach (string key in appSettings.Settings.AllKeys)
{
string value = appSettings.Settings[key].Value;
Console.WriteLine("Key: {0} Value: {1}", key, value);
}
}
else
{
Console.WriteLine("The appSettings section is empty. Write first.");
}
}
catch (Exception e)
{
Console.WriteLine("Exception raised: {0}",
e.Message);
}
}
#endregion UsingAppSettingsSection
#region ApplicationMain
// This class obtains user's input and provide feedback.
// It contains the application Main.
class ApplicationMain
{
// Display user's menu.
public static void UserMenu()
{
StringBuilder buffer = new StringBuilder();
buffer.AppendLine("Please, make your selection.");
buffer.AppendLine("1 -- Write appSettings section.");
buffer.AppendLine("2 -- Read appSettings section.");
buffer.AppendLine("? -- Display help.");
buffer.AppendLine("Q,q -- Exit the application.");
Console.Write(buffer.ToString());
}
// Obtain user's input and provide
// feedback.
static void Main(string[] args)
{
// Define user selection string.
string selection;
// Get the name of the application.
string appName =
Environment.GetCommandLineArgs()[0];
IntializeConfigurationFile();
// Get user selection.
while (true)
{
UserMenu();
Console.Write("> ");
selection = Console.ReadLine();
if (!string.IsNullOrEmpty(selection))
break;
}
while (selection.ToLower() != "q")
{
// Process user's input.
switch (selection)
{
case "1":
WriteAppSettings();
break;
case "2":
ReadAppSettings();
break;
default:
UserMenu();
break;
}
Console.Write("> ");
selection = Console.ReadLine();
}
}
}
#endregion ApplicationMain
}
Imports System.Collections.Specialized
Imports System.Configuration
Imports System.Text
Imports System.IO
' IMPORTANT: To compile this example, you must add to the project
' a reference to the System.Configuration assembly.
'
Class UsingAppSettingsSection
#Region "UsingAppSettingsSection"
' This function shows how to use the File property of the
' appSettings section.
' The File property is used to specify an auxiliary
' configuration file.
' Usually you create an auxiliary file off-line to store
' additional settings that you can modify as needed without
' causing an application restart,as in the case of a Web
' application.
' These settings are then added to the ones defined in the
' application configuration file.
Private Shared Sub IntializeConfigurationFile()
' Create a set of unique key/value pairs to store in
' the appSettings section of an auxiliary configuration
' file.
Dim time1 As String = String.Concat(Date.Now.ToLongDateString(), " ", Date.Now.ToLongTimeString())
Dim time2 As String = String.Concat(Date.Now.ToLongDateString(), " ", New Date(2009, 6, 30).ToLongTimeString())
Dim buffer() As String = {"<appSettings>", "<add key='AuxAppStg0' value='" & time1 & "'/>", "<add key='AuxAppStg1' value='" & time2 & "'/>", "</appSettings>"}
' Create an auxiliary configuration file and store the
' appSettings defined before.
' Note creating a file at run-time is just for demo
' purposes to run this example.
File.WriteAllLines("auxiliaryFile.config", buffer)
' Get the current configuration associated
' with the application.
Dim config As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
' Associate the auxiliary with the default
' configuration file.
Dim appSettings As System.Configuration.AppSettingsSection = config.AppSettings
appSettings.File = "auxiliaryFile.config"
' Save the configuration file.
config.Save(ConfigurationSaveMode.Modified)
' Force a reload in memory of the
' changed section.
ConfigurationManager.RefreshSection("appSettings")
End Sub
' This function shows how to write a key/value
' pair to the appSettings section.
Private Shared Sub WriteAppSettings()
Try
' Get the application configuration file.
Dim config As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
' Create a unique key/value pair to add to
' the appSettings section.
Dim keyName As String = "AppStg" & config.AppSettings.Settings.Count
Dim value As String = String.Concat(Date.Now.ToLongDateString(), " ", Date.Now.ToLongTimeString())
' Add the key/value pair to the appSettings
' section.
' config.AppSettings.Settings.Add(keyName, value);
Dim appSettings As System.Configuration.AppSettingsSection = config.AppSettings
appSettings.Settings.Add(keyName, value)
' Save the configuration file.
config.Save(ConfigurationSaveMode.Modified)
' Force a reload in memory of the changed section.
' This to read the section with the
' updated values.
ConfigurationManager.RefreshSection("appSettings")
Console.WriteLine("Added the following Key: {0} Value: {1} .", keyName, value)
Catch e As Exception
Console.WriteLine("Exception raised: {0}", e.Message)
End Try
End Sub
' This function shows how to read the key/value
' pairs (settings collection)contained in the
' appSettings section.
Private Shared Sub ReadAppSettings()
Try
' Get the configuration file.
Dim config As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
' Get the appSettings section.
Dim appSettings As System.Configuration.AppSettingsSection = CType(config.GetSection("appSettings"), System.Configuration.AppSettingsSection)
' Get the auxiliary file name.
Console.WriteLine("Auxiliary file: {0}", config.AppSettings.File)
' Get the settings collection (key/value pairs).
If appSettings.Settings.Count <> 0 Then
For Each key As String In appSettings.Settings.AllKeys
Dim value As String = appSettings.Settings(key).Value
Console.WriteLine("Key: {0} Value: {1}", key, value)
Next key
Else
Console.WriteLine("The appSettings section is empty. Write first.")
End If
Catch e As Exception
Console.WriteLine("Exception raised: {0}", e.Message)
End Try
End Sub
#End Region ' UsingAppSettingsSection
#Region "ApplicationMain"
Shared Sub UserMenu()
Dim buffer As New StringBuilder()
buffer.AppendLine("Please, make your selection.")
buffer.AppendLine("1 -- Write appSettings section.")
buffer.AppendLine("2 -- Read appSettings section.")
buffer.AppendLine("? -- Display help.")
buffer.AppendLine("Q,q -- Exit the application.")
Console.Write(buffer.ToString())
End Sub
' Obtain user's input and provide
' feedback.
Shared Sub Main(ByVal args() As String)
' Define user selection string.
Dim selection As String
' Get the name of the application.
Dim appName As String = Environment.GetCommandLineArgs()(0)
IntializeConfigurationFile()
' Get user selection.
Do
UserMenu()
Console.Write("> ")
selection = Console.ReadLine()
If selection <> String.Empty Then
Exit Do
End If
Loop
Do While selection.ToLower() <> "q"
' Process user's input.
Select Case selection
Case "1"
WriteAppSettings()
Case "2"
ReadAppSettings()
Case Else
UserMenu()
End Select
Console.Write("> ")
selection = Console.ReadLine()
Loop
End Sub
' End Class
#End Region ' ApplicationMain
End Class
Imports System.Collections.Specialized
Imports System.Configuration
Imports System.Text
Imports System.IO
' IMPORTANT: To compile this example, you must add to the project
' a reference to the System.Configuration assembly.
'
Class UsingAppSettingsSection
#Region "UsingAppSettingsSection"
' This function shows how to use the File property of the
' appSettings section.
' The File property is used to specify an auxiliary
' configuration file.
' Usually you create an auxiliary file off-line to store
' additional settings that you can modify as needed without
' causing an application restart,as in the case of a Web
' application.
' These settings are then added to the ones defined in the
' application configuration file.
Private Shared Sub IntializeConfigurationFile()
' Create a set of unique key/value pairs to store in
' the appSettings section of an auxiliary configuration
' file.
Dim time1 As String = String.Concat(Date.Now.ToLongDateString(), " ", Date.Now.ToLongTimeString())
Dim time2 As String = String.Concat(Date.Now.ToLongDateString(), " ", New Date(2009, 6, 30).ToLongTimeString())
Dim buffer() As String = {"<appSettings>", "<add key='AuxAppStg0' value='" & time1 & "'/>", "<add key='AuxAppStg1' value='" & time2 & "'/>", "</appSettings>"}
' Create an auxiliary configuration file and store the
' appSettings defined before.
' Note creating a file at run-time is just for demo
' purposes to run this example.
File.WriteAllLines("auxiliaryFile.config", buffer)
' Get the current configuration associated
' with the application.
Dim config As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
' Associate the auxiliary with the default
' configuration file.
Dim appSettings As System.Configuration.AppSettingsSection = config.AppSettings
appSettings.File = "auxiliaryFile.config"
' Save the configuration file.
config.Save(ConfigurationSaveMode.Modified)
' Force a reload in memory of the
' changed section.
ConfigurationManager.RefreshSection("appSettings")
End Sub
' This function shows how to write a key/value
' pair to the appSettings section.
Private Shared Sub WriteAppSettings()
Try
' Get the application configuration file.
Dim config As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
' Create a unique key/value pair to add to
' the appSettings section.
Dim keyName As String = "AppStg" & config.AppSettings.Settings.Count
Dim value As String = String.Concat(Date.Now.ToLongDateString(), " ", Date.Now.ToLongTimeString())
' Add the key/value pair to the appSettings
' section.
' config.AppSettings.Settings.Add(keyName, value);
Dim appSettings As System.Configuration.AppSettingsSection = config.AppSettings
appSettings.Settings.Add(keyName, value)
' Save the configuration file.
config.Save(ConfigurationSaveMode.Modified)
' Force a reload in memory of the changed section.
' This to read the section with the
' updated values.
ConfigurationManager.RefreshSection("appSettings")
Console.WriteLine("Added the following Key: {0} Value: {1} .", keyName, value)
Catch e As Exception
Console.WriteLine("Exception raised: {0}", e.Message)
End Try
End Sub
' This function shows how to read the key/value
' pairs (settings collection)contained in the
' appSettings section.
Private Shared Sub ReadAppSettings()
Try
' Get the configuration file.
Dim config As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
' Get the appSettings section.
Dim appSettings As System.Configuration.AppSettingsSection = CType(config.GetSection("appSettings"), System.Configuration.AppSettingsSection)
' Get the auxiliary file name.
Console.WriteLine("Auxiliary file: {0}", config.AppSettings.File)
' Get the settings collection (key/value pairs).
If appSettings.Settings.Count <> 0 Then
For Each key As String In appSettings.Settings.AllKeys
Dim value As String = appSettings.Settings(key).Value
Console.WriteLine("Key: {0} Value: {1}", key, value)
Next key
Else
Console.WriteLine("The appSettings section is empty. Write first.")
End If
Catch e As Exception
Console.WriteLine("Exception raised: {0}", e.Message)
End Try
End Sub
#End Region ' UsingAppSettingsSection
#Region "ApplicationMain"
Shared Sub UserMenu()
Dim buffer As New StringBuilder()
buffer.AppendLine("Please, make your selection.")
buffer.AppendLine("1 -- Write appSettings section.")
buffer.AppendLine("2 -- Read appSettings section.")
buffer.AppendLine("? -- Display help.")
buffer.AppendLine("Q,q -- Exit the application.")
Console.Write(buffer.ToString())
End Sub
' Obtain user's input and provide
' feedback.
Shared Sub Main(ByVal args() As String)
' Define user selection string.
Dim selection As String
' Get the name of the application.
Dim appName As String = Environment.GetCommandLineArgs()(0)
IntializeConfigurationFile()
' Get user selection.
Do
UserMenu()
Console.Write("> ")
selection = Console.ReadLine()
If selection <> String.Empty Then
Exit Do
End If
Loop
Do While selection.ToLower() <> "q"
' Process user's input.
Select Case selection
Case "1"
WriteAppSettings()
Case "2"
ReadAppSettings()
Case Else
UserMenu()
End Select
Console.Write("> ")
selection = Console.ReadLine()
Loop
End Sub
' End Class
#End Region ' ApplicationMain
End Class
Комментарии
Раздел appSettings
конфигурации содержит пары "ключ-значение" значений string
для приложения. Вместо доступа к этим значениям с помощью экземпляра AppSettingsSection объекта следует использовать AppSettings свойство ConfigurationManager класса или AppSettings свойство WebConfigurationManager класса .
Конструкторы
AppSettingsSection() |
Инициализирует новый экземпляр класса AppSettingsSection. |
Свойства
CurrentConfiguration |
Возвращает ссылку на экземпляр Configuration верхнего уровня, представляющий иерархию конфигурации, к которой относится текущий экземпляр ConfigurationElement. (Унаследовано от ConfigurationElement) |
ElementInformation |
Возвращает объект ElementInformation, содержащий неизменяемую информацию и функциональность объекта ConfigurationElement. (Унаследовано от ConfigurationElement) |
ElementProperty |
Возвращает объект ConfigurationElementProperty, представляющий сам объект ConfigurationElement. (Унаследовано от ConfigurationElement) |
EvaluationContext |
Возвращает объект ContextInformation для объекта ConfigurationElement. (Унаследовано от ConfigurationElement) |
File |
Возвращает или задает файл конфигурации, предоставляющий дополнительные параметры или переопределяющий параметры, указанные в элементе |
HasContext |
Возвращает значение, указывающее, имеет ли свойство CurrentConfiguration значение |
Item[ConfigurationProperty] |
Возвращает или задает свойство или атрибут данного элемента конфигурации. (Унаследовано от ConfigurationElement) |
Item[String] |
Получает или задает свойство, атрибут или дочерний элемент данного элемента конфигурации. (Унаследовано от ConfigurationElement) |
LockAllAttributesExcept |
Возвращает коллекцию заблокированных атрибутов. (Унаследовано от ConfigurationElement) |
LockAllElementsExcept |
Возвращает коллекцию заблокированных элементов. (Унаследовано от ConfigurationElement) |
LockAttributes |
Возвращает коллекцию заблокированных атрибутов. (Унаследовано от ConfigurationElement) |
LockElements |
Возвращает коллекцию заблокированных элементов. (Унаследовано от ConfigurationElement) |
LockItem |
Возвращает или задает значение, указывающее, заблокирован ли элемент. (Унаследовано от ConfigurationElement) |
Properties |
Возвращает коллекцию свойств. (Унаследовано от ConfigurationElement) |
SectionInformation |
Возвращает объект SectionInformation, содержащий неизменяемую информацию и функциональность объекта ConfigurationSection. (Унаследовано от ConfigurationSection) |
Settings |
Возвращает коллекцию пар "ключ-значение", содержащую параметры приложения. |
Методы
DeserializeElement(XmlReader, Boolean) |
Считывает XML из файла конфигурации. (Унаследовано от ConfigurationElement) |
DeserializeSection(XmlReader) |
Считывает XML из файла конфигурации. (Унаследовано от ConfigurationSection) |
Equals(Object) |
Сравнивает текущий экземпляр ConfigurationElement с указанным объектом. (Унаследовано от ConfigurationElement) |
GetHashCode() |
Получает уникальное значение, представляющее текущий экземпляр ConfigurationElement. (Унаследовано от ConfigurationElement) |
GetRuntimeObject() |
Возвращает пользовательский объект при переопределении в производном классе. (Унаследовано от ConfigurationSection) |
GetTransformedAssemblyString(String) |
Возвращает преобразованную версию указанного имени сборки. (Унаследовано от ConfigurationElement) |
GetTransformedTypeString(String) |
Возвращает преобразованную версию указанного имени типа. (Унаследовано от ConfigurationElement) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
Init() |
Задает объект ConfigurationElement в исходное состояние. (Унаследовано от ConfigurationElement) |
InitializeDefault() |
Используется для инициализации набора значений по умолчанию для объекта ConfigurationElement. (Унаследовано от ConfigurationElement) |
IsModified() |
При реализации в производном классе указывает, был ли изменен данный элемент конфигурации с момента последнего сохранения или загрузки. (Унаследовано от ConfigurationSection) |
IsReadOnly() |
Получает значение, показывающее, является ли объект ConfigurationElement доступным только для чтения. (Унаследовано от ConfigurationElement) |
ListErrors(IList) |
Добавляет ошибку "недействительное свойство" в данном объекте ConfigurationElement и всех его дочерних элементах к переданному списку. (Унаследовано от ConfigurationElement) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
OnDeserializeUnrecognizedAttribute(String, String) |
Возвращает значение, указывающее, встретился ли неизвестный атрибут при десериализации. (Унаследовано от ConfigurationElement) |
OnDeserializeUnrecognizedElement(String, XmlReader) |
Возвращает значение, указывающее, встретился ли неизвестный элемент при десериализации. (Унаследовано от ConfigurationElement) |
OnRequiredPropertyNotFound(String) |
Выдает исключение, если требуемое свойство не найдено. (Унаследовано от ConfigurationElement) |
PostDeserialize() |
Вызывается после десериализации. (Унаследовано от ConfigurationElement) |
PreSerialize(XmlWriter) |
Вызывается до сериализации. (Унаследовано от ConfigurationElement) |
Reset(ConfigurationElement) |
Восстанавливает внутреннее состояние объекта ConfigurationElement, включая блокировки и коллекции свойств. (Унаследовано от ConfigurationElement) |
ResetModified() |
Переустанавливает значение метода IsModified() в |
SerializeElement(XmlWriter, Boolean) |
Записывает содержание данного элемента конфигурации в файл конфигурации при реализации в производном классе. (Унаследовано от ConfigurationElement) |
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode) |
Создает XML-строку, содержащую разъединенное представление об объекте ConfigurationSection, как об отдельном разделе, записываемым в файл. (Унаследовано от ConfigurationSection) |
SerializeToXmlElement(XmlWriter, String) |
Записывает внешние теги данного элемента конфигурации в файл конфигурации при реализации в производном классе. (Унаследовано от ConfigurationElement) |
SetPropertyValue(ConfigurationProperty, Object, Boolean) |
Задает для свойства указанное значение. (Унаследовано от ConfigurationElement) |
SetReadOnly() |
Задает свойство IsReadOnly() для объекта ConfigurationElement и всех подчиненных элементов. (Унаследовано от ConfigurationElement) |
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName) |
Указывает, следует ли сериализовать указанный элемент при сериализации иерархии объектов конфигурации для указанной целевой версии платформа .NET Framework. (Унаследовано от ConfigurationSection) |
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement) |
Указывает, следует ли сериализовать указанное свойство при сериализации иерархии объектов конфигурации для указанной целевой версии платформа .NET Framework. (Унаследовано от ConfigurationSection) |
ShouldSerializeSectionInTargetVersion(FrameworkName) |
Указывает, следует ли сериализовать текущий ConfigurationSection экземпляр при сериализации иерархии объектов конфигурации для указанной целевой версии платформа .NET Framework. (Унаследовано от ConfigurationSection) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) |
Изменяет объект ConfigurationElement для удаления всех значений, которые не должны сохраняться. (Унаследовано от ConfigurationElement) |