System.Configuration.AppSettingsSection 类
方法描述
为 appSettings 配置节提供配置系统支持。 此类不能被继承。
语法定义(C# System.Configuration.AppSettingsSection 类 的用法)
public sealed class AppSettingsSection : ConfigurationSection
构造函数
构造函数名称 | 构造函数描述 |
---|---|
AppSettingsSection | 基础结构。初始化 AppSettingsSection 类的新实例。 |
成员/方法
方法名称 | 方法描述 |
---|---|
DeserializeElement | 读取配置文件中的 XML。 (继承自 ConfigurationElement。) |
DeserializeSection | 基础结构。读取配置文件中的 XML。 (继承自 ConfigurationSection。) |
Equals | 将当前的 ConfigurationElement 实例与指定的对象进行比较。 (继承自 ConfigurationElement。) |
Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) |
GetHashCode | 获取一个唯一值,表示当前 ConfigurationElement 实例。 (继承自 ConfigurationElement。) |
GetRuntimeObject | 在派生的类中重写时返回自定义对象。 (继承自 ConfigurationSection。) |
GetTransformedAssemblyString | 返回指定程序集名称的转换版本。 (继承自 ConfigurationElement。) |
GetTransformedTypeString | 返回指定类型名称的转换版本。 (继承自 ConfigurationElement。) |
GetType | 获取当前实例的 Type。 (继承自 Object。) |
Init | 将 ConfigurationElement 对象设置为其初始状态。 (继承自 ConfigurationElement。) |
InitializeDefault | 用于初始化 ConfigurationElement 对象的默认值集。 (继承自 ConfigurationElement。) |
IsModified | 指示自上次在派生类中实现此配置元素时保存或加载以来是否对其进行过修改。 (继承自 ConfigurationSection。) |
IsReadOnly | 获取一个值,该值指示 ConfigurationElement 对象是否为只读。 (继承自 ConfigurationElement。) |
ListErrors | 将此 ConfigurationElement 对象以及所有子元素中无效属性的错误添加到传递的列表中。 (继承自 ConfigurationElement。) |
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) |
OnDeserializeUnrecognizedAttribute | 获取一个值,该值指示反序列化过程中是否遇到未知特性。 (继承自 ConfigurationElement。) |
OnDeserializeUnrecognizedElement | 获取一个值,该值指示反序列化过程中是否遇到未知元素。 (继承自 ConfigurationElement。) |
OnRequiredPropertyNotFound | 未找到所需属性时引发异常。 (继承自 ConfigurationElement。) |
PostDeserialize | 反序列化后调用。 (继承自 ConfigurationElement。) |
PreSerialize | 序列化前调用。 (继承自 ConfigurationElement。) |
Reset | 重置 ConfigurationElement 对象的内部状态,包括锁和属性集合。 (继承自 ConfigurationElement。) |
ResetModified | 在派生类中实现时,将 IsModified 方法的值重置为 false。 (继承自 ConfigurationSection。) |
SerializeElement | 当在派生类中实现后,将此配置元素的内容写入配置文件。 (继承自 ConfigurationElement。) |
SerializeSection | 基础结构。创建一个包含 ConfigurationSection 对象的分离视图的 XML 字符串,作为单独的节写入到文件中。 (继承自 ConfigurationSection。) |
SerializeToXmlElement | 当在派生类中实现后,将此配置元素的外部标记写入配置文件。 (继承自 ConfigurationElement。) |
SetPropertyValue | 将属性设置为指定值。 (继承自 ConfigurationElement。) |
SetReadOnly | 设置 ConfigurationElement 对象及所有子元素的 IsReadOnly 属性。 (继承自 ConfigurationElement。) |
ShouldSerializeElementInTargetVersion | 指示在为 .NET Framework 的指定目标版本序列化配置对象层次结构时,是否应序列化指定元素。 (继承自 ConfigurationSection。) |
ShouldSerializePropertyInTargetVersion | 指示在为指定目标版本的 .NET Framework 序列化配置对象层次结构时,是否应序列化指定属性。 (继承自 ConfigurationSection。) |
ShouldSerializeSectionInTargetVersion | 指示在为指定目标版本的 .NET Framework 序列化配置对象层次结构时,是否应序列化当前的 ConfigurationSection 实例。 (继承自 ConfigurationSection。) |
ToString | 返回表示当前对象的字符串。 (继承自 Object。) |
Unmerge | 修改 ConfigurationElement 对象以移除所有将不被保存的值。 (继承自 ConfigurationElement。) |
提示和注释
appSettings 配置节为应用程序提供 string 值的键/值对。 不要使用 AppSettingsSection 对象的实例访问这些值,而应使用 ConfigurationManager 类的 AppSettings 属性或 WebConfigurationManager 类的 AppSettings 属性。
Topic
Location
如何:从 Web.config 文件读取应用程序设置配置 ASP .NET Web 应用程序
如何:从 Web.config 文件读取应用程序设置在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:从 Web.config 文件读取应用程序设置在 Visual Studio 中生成 ASP .NET Web 应用程序
System.Configuration.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 = {"", " "}; // 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 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 (selection != string.Empty) 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 }", " ", "
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。