ClientSettingsProvider Class


Enables Windows-based applications to retrieve user settings from a Web settings service.

Namespace:   System.Web.ClientServices.Providers
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)


[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public class ClientSettingsProvider : SettingsProvider, IApplicationSettingsProvider


Initializes a new instance of the ClientSettingsProvider class.


This property is not used by this class.(Overrides SettingsProvider.ApplicationName.)


Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs).(Inherited from ProviderBase.)


Gets the friendly name used to refer to the provider during configuration.(Inherited from ProviderBase.)


Gets or sets the Web settings service location.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetPreviousVersion(SettingsContext, SettingsProperty)

Gets the previous version of the specified property.


Gets a collection of metadata for all properties retrieved from the specified Web settings service.

System_CAPS_pubmethodGetPropertyValues(SettingsContext, SettingsPropertyCollection)

Returns the collection of settings property values for the specified application instance and settings property group.(Overrides SettingsProvider.GetPropertyValues(SettingsContext, SettingsPropertyCollection).)


Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodInitialize(String, NameValueCollection)

Initializes the provider.(Overrides ProviderBase.Initialize(String, NameValueCollection).)


Creates a shallow copy of the current Object.(Inherited from Object.)


Resets all user settings to their default values.

System_CAPS_pubmethodSetPropertyValues(SettingsContext, SettingsPropertyValueCollection)

Sets the values of the specified group of property settings.(Overrides SettingsProvider.SetPropertyValues(SettingsContext, SettingsPropertyValueCollection).)


Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_pubmethodUpgrade(SettingsContext, SettingsPropertyCollection)

This method is not used by this class.


Occurs after the settings provider attempts to save the property values to the Web settings service.

You can use client application services to retrieve user settings from an existing Web settings service by configuring your application to use the ClientSettingsProvider class. For more information, see How to: Configure Client Application Services. After configuration, you can get and set user settings through an application settings class derived from ApplicationSettingsBase and configured to use the ClientSettingsProvider class. You can use Visual Studio to generate a Settings class for your project (accessed as Properties.Settings.Default in C# and My.Settings in Visual Basic). For more information about application settings, see Application Settings Overview.

You can retrieve the current ClientSettingsProvider through the ApplicationSettingsBase.Providers property using the fully-qualified ClientSettingsProvider class name as a key. You can also retrieve the provider through the SettingsLoadedEventArgs.Provider property when you handle the ApplicationSettingsBase.SettingsLoaded event.


This class contains a SecurityCriticalAttribute at the class level that applies to all members of the class. A run-time exception is thrown if the immediate caller is security-transparent or partially trusted. For more information about security-critical types and members, see Security-Transparent Code, Level 2.


This class contains an inheritance demand at the class level that applies to all members. A SecurityException is thrown when the derived class does not have full-trust permission. For details about security demands, see Link Demands and Inheritance Demands.

The following example code demonstrates how to use this event to display a list of settings that were not successfully saved.

private void AttachSettingsSavedEventHandler()
        .SettingsSaved +=
        new EventHandler<SettingsSavedEventArgs>(Form1_SettingsSaved);

private void Form1_SettingsSaved(object sender,
    SettingsSavedEventArgs e)
    // If any settings were not saved, display a list of them.
    if (e.FailedSettingsList.Count > 0)
        String failedSettings = String.Join(

        String message = String.Format("{0}{1}{1}{2}",
            "The following setting(s) were not saved:",
            Environment.NewLine, failedSettings);

        MessageBox.Show(message, "Unable to save settings",
            MessageBoxButtons.OK, MessageBoxIcon.Warning);


for full trust for inheritors. This class cannot be inherited by partially trusted code.


requires full trust for the immediate caller. This class cannot be used by partially trusted or transparent code.

.NET Framework
Available since 3.5

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top