OptionalReliableSession Class
Provides convenient access to whether a reliable session is enabled when using one of the predefined bindings where it is optional.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
| Name | Description | |
|---|---|---|
![]() | OptionalReliableSession() | Initializes a new instance of the OptionalReliableSession class. |
![]() | OptionalReliableSession(ReliableSessionBindingElement) | Initializes a new instance of the OptionalReliableSession class from a reliable session binding element. |
| Name | Description | |
|---|---|---|
![]() | Enabled | Gets or sets a value that indicates whether the reliable session is enabled. |
![]() | InactivityTimeout | Gets or sets an interval of time that a service can remain inactive before closing.(Inherited from ReliableSession.) |
![]() | Ordered | Gets or sets a value that indicates whether message delivery must preserve the order in which messages are sent.(Inherited from ReliableSession.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
The ability to enable a reliable session is provided with three of the system-provided bindings. A reliable session is:
Optional (and off by default) with NetTcpBinding and WSHttpBinding and
Required (and hence always on) with WSDualHttpBinding.
The following example shows how to create a new reliable session, access and change the default values of that session.
private void Run() { WSHttpBinding b = new WSHttpBinding(); b.Name = "HttpOrderedReliableSessionBinding"; // Get a reference to the OptionalreliableSession object of the // binding and set its properties to new values. OptionalReliableSession myReliableSession = b.ReliableSession; myReliableSession.Enabled = true; // The default is false. myReliableSession.Ordered = false; // The default is true. myReliableSession.InactivityTimeout = new TimeSpan(0, 15, 0); // The default is 10 minutes. // Create a URI for the service's base address. Uri baseAddress = new Uri("http://localhost:8008/Calculator"); // Create a service host. ServiceHost sh = new ServiceHost(typeof(Calculator), baseAddress); // Optional: Print out the binding information. PrintBindingInfo(b); // Create a URI for an endpoint, then add a service endpoint using the // binding with the latered OptionalReliableSession settings. sh.AddServiceEndpoint(typeof(ICalculator), b, "ReliableCalculator"); sh.Open(); Console.WriteLine("Listening..."); Console.ReadLine(); sh.Close(); } private void PrintBindingInfo(WSHttpBinding b) { Console.WriteLine(b.Name); Console.WriteLine("Enabled: {0}", b.ReliableSession.Enabled); Console.WriteLine("Ordered: {0}", b.ReliableSession.Ordered); Console.WriteLine("Inactivity in Minutes: {0}", b.ReliableSession.InactivityTimeout.TotalMinutes); }
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.


