CommunicationObject.BeginClose Method

Definition

Begins an asynchronous operation to close a communication object.

Overloads

BeginClose(AsyncCallback, Object)

Begins an asynchronous operation to close a communication object.

BeginClose(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to close a communication object with a specified timeout.

BeginClose(AsyncCallback, Object)

Begins an asynchronous operation to close a communication object.

public:
 virtual IAsyncResult ^ BeginClose(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginClose (AsyncCallback callback, object state);
abstract member BeginClose : AsyncCallback * obj -> IAsyncResult
override this.BeginClose : AsyncCallback * obj -> IAsyncResult
Public Function BeginClose (callback As AsyncCallback, state As Object) As IAsyncResult

Parameters

callback
AsyncCallback

The AsyncCallback delegate that receives notification of the completion of the asynchronous close operation.

state
Object

An object, specified by the application, that contains state information associated with the asynchronous close operation.

Returns

The IAsyncResult that references the asynchronous close operation.

Implements

Exceptions

The communication object is not in a Opened or Opening state and cannot be modified.

The communication object is in a Closing or Closed state and cannot be modified.

The communication object is in a Faulted state and cannot be modified.

The default interval of time that was allotted for the operation was exceeded before the operation was completed.

Remarks

This method causes the CommunicationObject to gracefully transition from any state, other than the Closed state, into the Closed state within a default interval of time. The BeginClose method allows any unfinished work to be completed before returning. For example, finish sending any buffered messages). This method calls OnBeginOpen(TimeSpan, AsyncCallback, Object) if the communication object was initially in the Opened state.

Applies to

BeginClose(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to close a communication object with a specified timeout.

public:
 virtual IAsyncResult ^ BeginClose(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginClose (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginClose : TimeSpan * AsyncCallback * obj -> IAsyncResult
override this.BeginClose : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginClose (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parameters

timeout
TimeSpan

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

callback
AsyncCallback

The AsyncCallback delegate that receives notification of the completion of the asynchronous close operation.

state
Object

An object, specified by the application, that contains state information associated with the asynchronous close operation.

Returns

The IAsyncResult that references the asynchronous close operation.

Implements

Exceptions

The communication object is not in a Opened or Opening state and cannot be modified.

The communication object is in a Closing or Closed state and cannot be modified.

The communication object is in a Faulted state and cannot be modified.

The default interval of time that was allotted for the operation was exceeded before the operation was completed.

Remarks

This method causes the CommunicationObject to gracefully transition from any state, other than the Closed state, into the Closed state with in a specified interval of time. The BeginClose method allows any unfinished work to be completed before returning. For example, finish sending any buffered messages). This method calls OnBeginClose(TimeSpan, AsyncCallback, Object) if the communication object was initially in the Opened state.

Applies to