Edit

Share via


IDuplexSession Interface

Definition

Defines the interface for the session implemented on each side of a bi-directional communication between messaging endpoints.

public interface class IDuplexSession : System::ServiceModel::Channels::IInputSession, System::ServiceModel::Channels::IOutputSession
public interface IDuplexSession : System.ServiceModel.Channels.IInputSession, System.ServiceModel.Channels.IOutputSession
type IDuplexSession = interface
    interface IInputSession
    interface IOutputSession
    interface ISession
type IDuplexSession = interface
    interface IInputSession
    interface ISession
    interface IOutputSession
Public Interface IDuplexSession
Implements IInputSession, IOutputSession
Implements

Remarks

The IDuplexSession interface is the union of the inbound session, defined by the IInputSession interface, and the outbound session, defined by the IOutputSession interface. Either the inbound session or outbound session can be terminated independently of the other. The outbound session can be terminated synchronously by calling CloseOutputSession or asynchronously by calling BeginCloseOutputSession.

The inbound session can be remotely terminated. The Receive associated with the inbound session starts returning null when that session is shutdown.

Properties

Id

Gets the ID that uniquely identifies the session.

(Inherited from ISession)

Methods

BeginCloseOutputSession(AsyncCallback, Object)

Begins an asynchronous operation to terminate the outbound session.

BeginCloseOutputSession(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to terminate the outbound session with a specified timeout within which the operation must complete.

CloseOutputSession()

Terminates the outbound session that indicates that no more messages will be sent from this endpoint on the channel associated with the session.

CloseOutputSession(TimeSpan)

Terminates the outbound session that indicates that no more messages will be sent from this endpoint on the channel associated with the session within a specified interval of time.

EndCloseOutputSession(IAsyncResult)

Completes an asynchronous operation to terminate the outbound session that indicates that no more messages will be sent from this endpoint on the channel associated with the session.

Applies to