SettingsProvider 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
充当在应用程序设置体系结构中派生自定义设置提供程序的基类。
public ref class SettingsProvider abstract : System::Configuration::Provider::ProviderBase
public abstract class SettingsProvider : System.Configuration.Provider.ProviderBase
type SettingsProvider = class
inherit ProviderBase
Public MustInherit Class SettingsProvider
Inherits ProviderBase
- 继承
- 派生
注解
设置提供程序定义用于存储应用程序设置体系结构中使用的配置数据的机制。 .NET框架包含单个默认设置提供程序,LocalFileSettingsProvider,用于将配置数据存储到本地文件系统。 但是,可以通过从抽象 SettingsProvider 类派生来创建备用存储机制。 包装类使用的提供程序是通过用包装类修饰包装类来确定的 SettingsProviderAttribute。 如果未提供此属性,则使用默认值 LocalFileSettingsProvider。
创建自定义设置提供程序时,至少必须为此类的三种方法提供实现:GetPropertyValuesSetPropertyValues以及ApplicationName。
对于客户端应用程序,还可以通过实现 IApplicationSettingsProvider 接口向自定义提供程序添加更标准化的功能。 此接口镜像类中 ApplicationSettingsBase 发现的方法,该方法主要支持版本控制。
通常,应将设置提供程序设计为单实例,以避免存储资源争用。 提供程序也应该是线程安全的,因为它们可以从单个应用程序域中的多个包装器实例或从不同域中的多个应用程序同时调用它们。
至少,设置提供程序必须识别三个属性,ApplicationScopedSettingAttributeUserScopedSettingAttribute以及DefaultSettingValueAttribute。 有关可应用于应用程序设置的属性的完整列表,请参阅 应用程序设置属性。 自定义设置提供程序应通过以下方式解析应用于设置属性的属性:
如果提供程序可以满足属性隐含的请求,显然应该这样做。
如果提供程序无法满足请求,应以无提示方式忽略该请求。
如果两个或多个属性冲突;例如,使用两者 ApplicationScopedSettingAttribute 修饰的属性; UserScopedSettingAttribute提供程序应引发一个 ConfigurationException。
构造函数
| 名称 | 说明 |
|---|---|
| SettingsProvider() |
初始化类的 SettingsProvider 实例。 |
属性
| 名称 | 说明 |
|---|---|
| ApplicationName |
获取或设置当前正在运行的应用程序的名称。 |
| Description |
获取适合在管理工具或其他用户界面(UI)中显示的简短友好说明。 (继承自 ProviderBase) |
| Name |
获取用于在配置期间引用提供程序的友好名称。 (继承自 ProviderBase) |
方法
| 名称 | 说明 |
|---|---|
| Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
| GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
| GetPropertyValues(SettingsContext, SettingsPropertyCollection) |
返回指定应用程序实例和设置属性组的设置属性值的集合。 |
| GetType() |
获取当前实例的 Type。 (继承自 Object) |
| Initialize(String, NameValueCollection) |
初始化配置生成器。 (继承自 ProviderBase) |
| MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
| SetPropertyValues(SettingsContext, SettingsPropertyValueCollection) |
设置指定属性设置组的值。 |
| ToString() |
返回一个表示当前对象的字符串。 (继承自 Object) |