ICommunicationObject.Close Method

Definition

Causes a communication object to transition from its current state into the closed state.

Overloads

Close()

Causes a communication object to transition from its current state into the closed state.

Close(TimeSpan)

Causes a communication object to transition from its current state into the closed state.

Close()

Causes a communication object to transition from its current state into the closed state.

public:
 void Close();
public void Close ();
abstract member Close : unit -> unit
Public Sub Close ()

Exceptions

Close() was called on an object in the Faulted state.

The default close timeout elapsed before the ICommunicationObject was able to close gracefully.

Remarks

This method causes an ICommunicationObject to gracefully transition from the Opened state to the Closed state. The Close method allows any unfinished work to be completed before returning. For example, finish sending any buffered messages).

The ICommunicationObject enters the Closing state and remains in it until the transition to the Closed state is completed.

Close returns once the Closed state is reached.

If the default close timeout elapses before the ICommunicationObject is able to close gracefully, the ICommunicationObject is aborted.

If Close is called on an ICommunicationObject in the Created, Opening, or Faulted state, the ICommunicationObject is aborted. If Close is called on an ICommunicationObject in the Closing or Closed state, the call returns immediately.

There is also an asynchronous version of the close method that is initiated by calling BeginClose and completed by calling Close.

Applies to

Close(TimeSpan)

Causes a communication object to transition from its current state into the closed state.

public:
 void Close(TimeSpan timeout);
public void Close (TimeSpan timeout);
abstract member Close : TimeSpan -> unit
Public Sub Close (timeout As TimeSpan)

Parameters

timeout
TimeSpan

The TimeSpan that specifies how long the send operation has to complete before timing out.

Exceptions

Close() was called on an object in the Faulted state.

The timeout elapsed before the ICommunicationObject was able to close gracefully.

Remarks

This method causes an ICommunicationObject to gracefully transition from the Opened state to the Closed state within a specified interval of time. The Close method allows any unfinished work to be completed before returning. For example, finish sending any buffered messages).

The ICommunicationObject enters the Closing state and remains in it until the transition to the Closed state is completed.

Close returns once the Closed state is reached.

If the timeout elapses before the ICommunicationObject is able to gracefully close, the ICommunicationObject is aborted.

If Close is called on an ICommunicationObject in the Created, Opening, or Faulted state, the ICommunicationObject is aborted. If Close is called on an ICommunicationObject in the Closing or Closed state, the call returns immediately.

There is also an asynchronous version of the close method that is initiated by calling BeginClose and completed by calling Close.

Notes to Implementers

The operation must throw a TimeoutException if the specified timeout is exceeded.

Applies to