ICommunicationObject.BeginOpen Method

Definition

Begins an asynchronous operation to open a communication object.

Overloads

BeginOpen(AsyncCallback, Object)

Begins an asynchronous operation to open a communication object.

BeginOpen(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to open a communication object within a specified interval of time.

Remarks

The BeginOpen method causes an ICommunicationObject to enter into the Opening state where it remains until its transition to the Opened state is completed or fails.

Versions with and without an explicit timeout are provided.

BeginOpen(AsyncCallback, Object)

Begins an asynchronous operation to open a communication object.

public:
 IAsyncResult ^ BeginOpen(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginOpen (AsyncCallback callback, object state);
abstract member BeginOpen : AsyncCallback * obj -> IAsyncResult
Public Function BeginOpen (callback As AsyncCallback, state As Object) As IAsyncResult

Parameters

callback
AsyncCallback

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

state
Object

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

Returns

The IAsyncResult that references the asynchronous open operation.

Exceptions

The ICommunicationObject was unable to be opened and has entered the Faulted state.

The default open timeout elapsed before the ICommunicationObject was able to enter the Opened state and has entered the Faulted state.

Remarks

When an ICommunicationObject is instantiated, it begins in the Created state. In the Created state, the object can be configured (for example, properties can be set, or events can be registered), but it is not yet usable to send or receive messages. The BeginOpen method causes an ICommunicationObject to enter into the Opening state where it remains until the open operation succeeds, the open operation times out or fails and the object becomes faulted, or the ICommunicationObject is aborted.

In the Opened state, the ICommunicationObject is usable (for example, messages can be received), but it is no longer configurable.

Applies to

BeginOpen(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to open a communication object within a specified interval of time.

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

Parameters

timeout
TimeSpan

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

callback
AsyncCallback

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

state
Object

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

Returns

The IAsyncResult that references the asynchronous open operation.

Exceptions

The ICommunicationObject was unable to be opened and has entered the Faulted state.

The specified timeout elapsed before the ICommunicationObject was able to enter the Opened state and has entered the Faulted state.

Remarks

When an ICommunicationObject is instantiated, it begins in the Created state. In the Created state, the object can be configured (for example, properties can be set, or events can be registered), but it is not yet usable to send or receive messages. The Open method causes an ICommunicationObject to enter into the Opening state where it remains until the open operation succeeds, the open operation times out or fails and the object becomes faulted, or the ICommunicationObject is aborted.

In the Opened state, the ICommunicationObject is usable (for example, messages can be received), but it is no longer configurable.

Notes to Implementers

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

Applies to