ICommunicationObject.Close Metodo

Definizione

Comporta la transizione di un oggetto di comunicazione dallo stato attuale allo stato Closed.Causes a communication object to transition from its current state into the closed state.

Overload

Close()

Comporta la transizione di un oggetto di comunicazione dallo stato attuale allo stato Closed.Causes a communication object to transition from its current state into the closed state.

Close(TimeSpan)

Comporta la transizione di un oggetto di comunicazione dallo stato attuale allo stato Closed.Causes a communication object to transition from its current state into the closed state.

Close()

Comporta la transizione di un oggetto di comunicazione dallo stato attuale allo stato Closed.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 ()

Eccezioni

Il metodo Close() è stato chiamato su un oggetto nello stato Faulted.Close() was called on an object in the Faulted state.

Il timeout predefinito di chiusura è scaduto prima che sia stato possibile chiudere correttamente l'oggetto ICommunicationObject.The default close timeout elapsed before the ICommunicationObject was able to close gracefully.

Commenti

Questo metodo determina la corretta transizione di un ICommunicationObject dallo stato di Opened allo stato Closed.This method causes an ICommunicationObject to gracefully transition from the Opened state to the Closed state. Il metodo Close consente il completamento di qualsiasi operazione non terminata prima della restituzione.The Close method allows any unfinished work to be completed before returning. Ad esempio, tale metodo consente di completare l'invio di tutti i messaggi memorizzati nel buffer.For example, finish sending any buffered messages).

Il ICommunicationObject entra nello stato di Closing e rimane fino a quando non viene completata la transizione allo stato Closed.The ICommunicationObject enters the Closing state and remains in it until the transition to the Closed state is completed.

Close restituisce quando viene raggiunto lo stato di Closed.Close returns once the Closed state is reached.

Se il timeout di chiusura predefinito scade prima che la ICommunicationObject possa essere chiusa correttamente, il ICommunicationObject viene interrotto.If the default close timeout elapses before the ICommunicationObject is able to close gracefully, the ICommunicationObject is aborted.

Se Close viene chiamato su un ICommunicationObject nello stato Created, Openingo Faulted, il ICommunicationObject viene interrotto.If Close is called on an ICommunicationObject in the Created, Opening, or Faulted state, the ICommunicationObject is aborted. Se Close viene chiamato su un ICommunicationObject nello stato Closing o Closed, la chiamata restituisce immediatamente un risultato.If Close is called on an ICommunicationObject in the Closing or Closed state, the call returns immediately.

Esiste anche una versione asincrona del metodo Close avviata chiamando BeginClose e completata chiamando Close.There is also an asynchronous version of the close method that is initiated by calling BeginClose and completed by calling Close.

Close(TimeSpan)

Comporta la transizione di un oggetto di comunicazione dallo stato attuale allo stato Closed.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)

Parametri

timeout
TimeSpan

L'oggetto TimeSpan che specifica il tempo disponibile per il completamento prima del timeout dell'operazione di invio.The TimeSpan that specifies how long the send operation has to complete before timing out.

Eccezioni

Il metodo Close() è stato chiamato su un oggetto nello stato Faulted.Close() was called on an object in the Faulted state.

Il timeout è scaduto prima che sia stato possibile chiudere correttamente l'oggetto ICommunicationObject.The timeout elapsed before the ICommunicationObject was able to close gracefully.

Commenti

Questo metodo fa sì che un ICommunicationObject passi correttamente dallo stato Opened allo stato Closed entro un intervallo di tempo specificato.This method causes an ICommunicationObject to gracefully transition from the Opened state to the Closed state within a specified interval of time. Il metodo Close consente il completamento di qualsiasi operazione non terminata prima della restituzione.The Close method allows any unfinished work to be completed before returning. Ad esempio, tale metodo consente di completare l'invio di tutti i messaggi memorizzati nel buffer.For example, finish sending any buffered messages).

Il ICommunicationObject entra nello stato di Closing e rimane fino a quando non viene completata la transizione allo stato Closed.The ICommunicationObject enters the Closing state and remains in it until the transition to the Closed state is completed.

Close restituisce quando viene raggiunto lo stato di Closed.Close returns once the Closed state is reached.

Se il timeout scade prima che il ICommunicationObject sia in grado di chiudere normalmente, il ICommunicationObject viene interrotto.If the timeout elapses before the ICommunicationObject is able to gracefully close, the ICommunicationObject is aborted.

Se Close viene chiamato su un ICommunicationObject nello stato Created, Openingo Faulted, il ICommunicationObject viene interrotto.If Close is called on an ICommunicationObject in the Created, Opening, or Faulted state, the ICommunicationObject is aborted. Se Close viene chiamato su un ICommunicationObject nello stato Closing o Closed, la chiamata restituisce immediatamente un risultato.If Close is called on an ICommunicationObject in the Closing or Closed state, the call returns immediately.

Esiste anche una versione asincrona del metodo Close avviata chiamando BeginClose e completata chiamando Close.There is also an asynchronous version of the close method that is initiated by calling BeginClose and completed by calling Close.

Note per gli implementatori

L'operazione deve generare un'TimeoutException se il timeout specificato viene superato.The operation must throw a TimeoutException if the specified timeout is exceeded.

Si applica a