Condividi tramite


Stream.EndWrite(IAsyncResult) Metodo

Definizione

Termina un'operazione di scrittura asincrona. Si consiglia di usare WriteAsync(Byte[], Int32, Int32).

public:
 virtual void EndWrite(IAsyncResult ^ asyncResult);
public virtual void EndWrite (IAsyncResult asyncResult);
abstract member EndWrite : IAsyncResult -> unit
override this.EndWrite : IAsyncResult -> unit
Public Overridable Sub EndWrite (asyncResult As IAsyncResult)

Parametri

asyncResult
IAsyncResult

Riferimento alla richiesta di I/O asincrona in sospeso.

Eccezioni

asyncResult è null.

Non è disponibile un handle dell'operazione di scrittura in sospeso.

-oppure-

L'operazione in sospeso non supporta la scrittura.

asyncResult non è stato generato da un metodo BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) nel flusso corrente.

Il flusso è chiuso o si è verificato un errore interno.

Commenti

In .NET Framework 4 e versioni precedenti è necessario usare metodi quali BeginWrite e EndWrite per implementare operazioni di I/O asincrone. Questi metodi sono ancora disponibili in .NET Framework 4.5 per supportare il codice legacy; Tuttavia, i nuovi metodi asincroni, ad esempio ReadAsync, , WriteAsyncCopyToAsynce , FlushAsyncconsentono di implementare operazioni di I/O asincrone più facilmente.

EndWrite deve essere chiamato esattamente una volta su ogni IAsyncResult da BeginWrite.

Questo metodo mantiene il blocco fino al completamento dell'operazione di I/O. Errori che si verificano durante una richiesta di scrittura asincrona, ad esempio un errore del disco durante la richiesta di I/O, si verificano nel thread del pool di thread e diventano visibili su una chiamata a EndWrite. Le eccezioni generate dal thread del pool di thread non saranno visibili quando si chiama EndWrite.

Si applica a

Vedi anche