DeflateStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rozpoczyna asynchroniczną operację zapisu. (Zamiast tego rozważ użycie WriteAsync(Byte[], Int32, Int32) metody ).
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginWrite (byte[] array, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginWrite (byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Parametry
- arraybuffer
- Byte[]
Bufor do zapisywania danych z.
- offset
- Int32
Przesunięcie bajtu, od których rozpocznie się zapisywanie.
- count
- Int32
Maksymalna liczba bajtów do zapisu.
- asyncCallback
- AsyncCallback
Opcjonalne wywołanie asynchroniczne, które ma być wywoływane po zakończeniu operacji zapisu.
- asyncState
- Object
Obiekt dostarczony przez użytkownika, który odróżnia to konkretne asynchroniczne żądanie zapisu od innych żądań.
Zwraca
Obiekt reprezentujący asynchroniczną operację zapisu, która nadal może być oczekująca.
Wyjątki
Metoda próbowała zapisać asynchronicznie obok końca strumienia lub wystąpił błąd dysku.
Co najmniej jeden argument jest nieprawidłowy.
Metody zostały wywołane po zamknięciu strumienia.
Bieżąca DeflateStream implementacja nie obsługuje operacji zapisu.
Nie można wykonać operacji zapisu, ponieważ strumień jest zamknięty.
Uwagi
Począwszy od .NET Framework 4.5, można wykonywać asynchroniczne operacje zapisu przy użyciu WriteAsync metody . Metoda BeginWrite jest nadal dostępna w bieżących wersjach, aby obsługiwać starszy kod. Można jednak łatwiej zaimplementować asynchroniczne operacje we/wy przy użyciu nowych metod asynchronicznych. Aby uzyskać więcej informacji, zobacz Asynchroniczne operacje we/wy plików.
IAsyncResult Przekaż obiekt zwrócony przez bieżącą metodę, aby EndWrite upewnić się, że zapis zostanie ukończony i zwolni zasoby odpowiednio. Można to zrobić przy użyciu tego samego kodu, który wywołuje BeginWrite metodę lub w wywołaniu zwrotnym przekazanym do metody BeginWrite. Jeśli podczas operacji zapisu asynchronicznego wystąpi błąd, wyjątek nie zostanie zgłoszony do momentu EndWrite wywołania metody zwracanej IAsyncResult przez tę metodę.
Jeśli strumień jest zapisywalny, zapis na końcu strumienia rozszerza strumień.
Bieżące położenie w strumieniu jest aktualizowane po wystawieniu asynchronicznej operacji odczytu lub zapisu, a nie po zakończeniu operacji we/wy. Wiele równoczesnych żądań asynchronicznych sprawia, że kolejność ukończenia żądania jest niepewna.
Użyj właściwości , CanWrite aby określić, czy bieżący DeflateStream obiekt obsługuje zapisywanie.
Jeśli strumień jest zamknięty lub przekazujesz nieprawidłowy argument, wyjątki są zgłaszane natychmiast z elementu BeginWrite. Błędy występujące podczas asynchronicznego żądania zapisu, takie jak błąd dysku podczas żądania we/wy, występują w wątku puli wątków i zgłaszają wyjątki podczas wywoływania metody EndWrite.