Condividi tramite


ICommunicationObject.BeginOpen Metodo

Definizione

Consente di iniziare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione.

Overload

BeginOpen(AsyncCallback, Object)

Consente di iniziare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione.

BeginOpen(TimeSpan, AsyncCallback, Object)

Consente di iniziare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione entro un determinato intervallo di tempo.

Commenti

Il BeginOpen metodo causa ICommunicationObject un'immissione nello Opening stato in cui rimane fino al completamento della transizione allo Opened stato o ha esito negativo.

Sono disponibili versioni con e senza timeout esplicito.

BeginOpen(AsyncCallback, Object)

Consente di iniziare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione.

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

Parametri

callback
AsyncCallback

Delegato AsyncCallback che riceve la notifica del completamento dell'operazione di apertura asincrona.

state
Object

Oggetto, specificato dall'applicazione, che contiene le informazioni di stato associate all'operazione di apertura asincrona.

Restituisce

IAsyncResult

Interfaccia IAsyncResult che fa riferimento all'operazione asincrona di apertura.

Eccezioni

Non è stato possibile aprire l'oggetto ICommunicationObject. Tale oggetto è pertanto passato allo stato Faulted.

Il timeout predefinito di apertura è scaduto prima che l'oggetto ICommunicationObject sia stato in grado di passare allo stato Opened. Tale oggetto è pertanto passato allo stato Faulted.

Commenti

Quando viene creata un'istanza ICommunicationObject , inizia nello Created stato. Nello stato Created l'oggetto può essere configurato (ad esempio, è possibile impostare le proprietà o registrare gli eventi) ma non può essere utilizzato per inviare o ricevere messaggi. Il BeginOpen metodo causa un'immissione ICommunicationObject nello Opening stato in cui rimane fino a quando l'operazione aperta non riesce, l'operazione aperta viene interrotta o non riesce e l'oggetto viene interrotto o viene ICommunicationObject interrotto.

Nello stato, l'oggetto Opened ICommunicationObject è utilizzabile (ad esempio, i messaggi possono essere ricevuti), ma non è più configurabile.

Si applica a

BeginOpen(TimeSpan, AsyncCallback, Object)

Consente di iniziare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione entro un determinato intervallo di tempo.

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

Parametri

timeout
TimeSpan

L'oggetto TimeSpan che specifica il tempo disponibile per il completamento prima del timeout dell'operazione di invio.

callback
AsyncCallback

Delegato AsyncCallback che riceve la notifica del completamento dell'operazione di apertura asincrona.

state
Object

Oggetto, specificato dall'applicazione, che contiene le informazioni di stato associate all'operazione di apertura asincrona.

Restituisce

IAsyncResult

Interfaccia IAsyncResult che fa riferimento all'operazione asincrona di apertura.

Eccezioni

Non è stato possibile aprire l'oggetto ICommunicationObject. Tale oggetto è pertanto passato allo stato Faulted.

Il timeout specificato è scaduto prima che l'oggetto ICommunicationObject sia stato in grado di passare allo stato Opened. Tale oggetto è pertanto passato allo stato Faulted.

Commenti

Quando viene creata un'istanza ICommunicationObject , inizia nello Created stato. Nello stato Created l'oggetto può essere configurato (ad esempio, è possibile impostare le proprietà o registrare gli eventi) ma non può essere utilizzato per inviare o ricevere messaggi. Il Open metodo causa un'immissione ICommunicationObject nello Opening stato in cui rimane fino a quando l'operazione aperta non riesce, l'operazione aperta viene interrotta o non riesce e l'oggetto viene interrotto o viene ICommunicationObject interrotto.

Nello stato, l'oggetto Opened ICommunicationObject è utilizzabile (ad esempio, i messaggi possono essere ricevuti), ma non è più configurabile.

Note per gli implementatori

L'operazione deve generare un TimeoutException valore se l'oggetto specificato timeout viene superato.

Si applica a