ClientSettingsProvider Class


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

public ref class ClientSettingsProvider : System::Configuration::SettingsProvider, System::Configuration::IApplicationSettingsProvider
public class ClientSettingsProvider : System.Configuration.SettingsProvider, System.Configuration.IApplicationSettingsProvider
type ClientSettingsProvider = class
    inherit SettingsProvider
    interface IApplicationSettingsProvider
Public Class ClientSettingsProvider
Inherits SettingsProvider
Implements IApplicationSettingsProvider


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);
Private WithEvents settingsProvider As ClientSettingsProvider = My.Settings _

Private Sub Form1_SettingsSaved(ByVal sender As Object, _
    ByVal e As SettingsSavedEventArgs) _
    Handles settingsProvider.SettingsSaved

    ' If any settings were not saved, display a list of them.
    If e.FailedSettingsList.Count > 0 Then

        Dim failedSettings As String = String.Join( _
            Environment.NewLine, e.FailedSettingsList.ToArray())

        Dim message As String = 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)

    End If

End Sub


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.



Initializes a new instance of the ClientSettingsProvider class.



This property is not used by this class.


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)

Serves as the default hash function.

(Inherited from Object)
GetPreviousVersion(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.

GetPropertyValues(SettingsContext, SettingsPropertyCollection)

Returns the collection of settings property values for the specified application instance and settings property group.


Gets the Type of the current instance.

(Inherited from Object)
Initialize(String, NameValueCollection)

Initializes the provider.


Creates a shallow copy of the current Object.

(Inherited from Object)

Resets all user settings to their default values.

SetPropertyValues(SettingsContext, SettingsPropertyValueCollection)

Sets the values of the specified group of property settings.


Returns a string that represents the current object.

(Inherited from Object)
Upgrade(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.


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.

Applies to

See also