Udostępnij za pośrednictwem


Stream.EndWrite(IAsyncResult) Metoda

Definicja

Kończy asynchroniczną operację zapisu. (Rozważ użycie WriteAsync(Byte[], Int32, Int32) zamiast tego).

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)

Parametry

asyncResult
IAsyncResult

Odwołanie do zaległego żądania we/wy asynchronicznego.

Wyjątki

asyncResult to null.

Dojście do oczekującej operacji zapisu nie jest dostępne.

-lub-

Oczekująca operacja nie obsługuje zapisu.

asyncResult nie pochodzi z BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) metody w bieżącym strumieniu.

Strumień jest zamknięty lub wystąpił błąd wewnętrzny.

Uwagi

W programie .NET Framework w wersji 4 i starszych do implementowania asynchronicznych operacji We/Wy należy używać metod takich jak BeginWrite i EndWrite. Te metody są nadal dostępne w .NET Framework 4.5 do obsługi starszego kodu. Jednak nowe metody asynchroniczne, takie jak ReadAsync, WriteAsync, CopyToAsynci FlushAsync, ułatwiają implementowanie asynchronicznych operacji we/wy.

EndWritemusi być wywoływana dokładnie raz na każdym IAsyncResult z .BeginWrite

Ta metoda blokuje działanie do momentu zakończenia operacji we/wy. Błędy występujące podczas asynchronicznego żądania zapisu, takie jak awaria dysku podczas żądania we/wy, występują w wątku puli wątków i stają się widoczne po wywołaniu metody EndWrite. Wyjątki zgłoszone przez wątek puli wątków nie będą widoczne podczas wywoływania metody EndWrite.

Dotyczy

Zobacz też