System.ServiceModel 4.0.0.0 System.Object

The properties contained in the class are the subset of those contained in the that are accessible from a predefined binding. This subset consists of the and properties. The class references the same objects as does the , so changing the value of one changes the value of the other too. This class gathers these two properties of reliable session binding element together for better discoverability.

Provides convenient access to the properties of a reliable session binding element that are available when using one of the system-provided bindings.

- Constructor
  4.0.0.0
  To be added.

  Initializes a new instance of the class.

- Constructor
  4.0.0.0
  To be added.
  To be added.

  Initializes a new instance of the class from a reliable session binding element.

- Property
  4.0.0.0
  System.TimeSpan To be added.

  The property gets and sets the value of the property.

  Activity on a channel is defined as receiving an application or infrastructure message. The inactivity timeout property controls the maximum amount of time to keep an inactive session alive. If more than the specified time interval passes with no activity, the session is aborted by the infrastructure and the channel faults. The reliable session is torn down unilaterally.

  If the sending application has no messages to send then the reliable session is normally not faulted because of inactivity; instead a keep-alive mechanism keeps the session active indefinitely. Note that the dispatcher could independently abort the reliable session if no application messages are sent or received. Thus, the inactivity timeout typically expires if network conditions are such that no messages of any sort are received or if there is a failure on the sender.

  Setting this timeout prevents the server from holding onto a security session if the client does not close it. If the security session has not received a message for the inactivity interval of time, it is closed by the server. This mitigates a potential denial of service attack.

  When using a reliable session, there are two different inactivity timers that must be satisfied to keep the connection alive. If either of these inactivity timers goes off, then the connection is dropped.

  The first inactivity timer is on the reliable session and is called the . This inactivity timer fires if no messages, either application or infrastructure, are received within the timeout period. An infrastructure message is a message that is generated for the purpose of one of the protocols in the channel stack, such as a keep alive or an acknowledgment, rather than containing application data.

  The second inactivity timer is on the service and uses the setting of the binding. This inactivity timer fires if no application messages are received within the timeout period.

  Since the connection is dropped if either inactivity timer fires, increasing once it is greater than has no effect. The default for both of these timeouts is 10 minutes, so you always have to increase both of them to make a difference when using a reliable session.

  Gets or sets an interval of time that a service can remain inactive before closing.

- Property
  4.0.0.0
  System.Boolean To be added.

  The property gets and sets the value of the property.

  Gets or sets a value that indicates whether message delivery must preserve the order in which messages are sent.