LocalServiceSecuritySettings Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Provides local service security properties that can be set.

Namespace:   System.ServiceModel.Channels
Assembly:  System.ServiceModel (in System.ServiceModel.dll)


public sealed class LocalServiceSecuritySettings


Initializes a new instance of the LocalServiceSecuritySettings class.


Gets or sets a value that indicates whether replay detection is enabled on the service.


Gets or sets the duration to wait before the channel is closed due to inactivity.


Gets or sets the lifetime for the SecurityContextSecurityToken that the service issues for the client.


Gets or sets the maximum number of SecurityContextSecurityTokens that the service allows to cache at once.


Gets or sets the maximum allowable time difference between the system clocks of the two parties that are communicating.


Gets or sets the maximum number of concurrent security sessions that are established with the server for which it has issued a session token but for which no application messages are sent.


Gets or sets the maximum number of concurrent security negotiations with clients that the service can participate in.


Gets or sets the maximum duration of the security negotiation phase between client and service.


Gets or sets the cache for the local service security settings.


Gets or sets a value that indicates whether security sessions attempt to reconnect after transport failures.


Gets or sets the size of the nonce cache used for replay detection.


Gets or sets the maximum amount of time within which the service can accept a message.


Gets or sets the lifetime of a key used in a security session. When this interval expires the key is automatically renewed.


Gets or sets the time interval after key renewal for which the previous session key is valid on incoming messages during a key renewal.


Gets or sets the maximum duration of time that messages are valid when sent by the service. If the client receives the service's message after this duration, it discards the message.


Creates a new instance of this class from the current instance.


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


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


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


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

This class contains the local security settings used by the SecurityBindingElement to build the security channel. These settings are local to the service and are not represented in the service's security policy.

This example shows how to use the LocalServiceSecuritySettings class to change the DetectReplays setting.

    // Create an instance of the binding to use.
    WSHttpBinding b = new WSHttpBinding();

    // Get the binding element collection.
    BindingElementCollection bec = b.CreateBindingElements();

    // Find the SymmetricSecurityBindingElement in the colllection.
    // Important: Cast to the SymmetricSecurityBindingElement when using the Find
    // method.
    SymmetricSecurityBindingElement sbe = (SymmetricSecurityBindingElement)

    // Get the LocalServiceSettings from the binding element.
    LocalServiceSecuritySettings lss = sbe.LocalServiceSettings;

    // Print out values.
    Console.WriteLine("DetectReplays: {0} days", lss.DetectReplays);
    Console.WriteLine("ReplayWindow: {0} minutes", lss.ReplayWindow.Minutes);
    Console.WriteLine("MaxClockSkew: {0} minutes", lss.MaxClockSkew.Minutes);

    Console.WriteLine("Press Enter to Continue");
    // Change the MaxClockSkew to 3 minutes.
    lss.MaxClockSkew = new TimeSpan(0, 0, 3, 0);

    // Print the new value.
    Console.WriteLine("New MaxClockSkew: {0} minutes", lss.MaxClockSkew.Minutes);
    Console.WriteLine("Press Enter to End");

    // Create a URI for the service.
    Uri httpUri = new Uri("http://localhost/calculator");

    // Create a ServiceHost. The binding has the changed MaxClockSkew.
    ServiceHost sh = new ServiceHost(typeof(Calculator), httpUri);
    sh.AddServiceEndpoint(typeof(ICalculator), b, "");
    // sh.Open();
    // Console.WriteLine("Listening");
    // Console.ReadLine();
    // sh.Close();

.NET Framework
Available since 3.0

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