DeflateStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Methode

Definition

Beginnt einen asynchronen Schreibvorgang. (Verwenden Sie stattdessen die WriteAsync(Byte[], Int32, Int32)-Methode.)

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

Parameter

arraybuffer
Byte[]

Der Puffer, aus dem Daten geschrieben werden sollen.

offset
Int32

Der Byteoffset, aus dem das Schreiben beginnen soll.

count
Int32

Die maximale Anzahl der zu schreibenden Bytes.

asyncCallback
AsyncCallback

Ein optionaler asynchroner Rückruf, der nach Abschluss des Schreibvorgangs aufgerufen wird.

asyncState
Object

Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Schreibanforderung von anderen Anforderungen unterscheidet.

Gibt zurück

Ein Objekt, das den asynchronen Schreibvorgang darstellt, der möglicherweise noch aussteht.

Ausnahmen

Die Methode hat versucht, asynchron über das Ende des Streams hinaus zu schreiben, oder ein Plattenfehler ist aufgetreten.

Mindestens eines der Argumente ist ungültig.

Es wurden Methoden aufgerufen, nachdem der Stream geschlossen wurde.

Die aktuelle DeflateStream-Implementierung unterstützt den Schreibvorgang nicht.

Der Schreibvorgang kann nicht ausgeführt werden, da der Stream geschlossen ist.

Hinweise

Ab .NET Framework 4.5 können Sie mit der WriteAsync -Methode asynchrone Schreibvorgänge ausführen. Die BeginWrite Methode ist in den aktuellen Versionen weiterhin verfügbar, um Legacycode zu unterstützen. Sie können jedoch mithilfe der neuen asynchronen Methoden einfacher asynchrone E/A-Vorgänge implementieren. Weitere Informationen finden Sie unter Asynchrone Datei-E/A.

Übergeben Sie das IAsyncResult von der aktuellen Methode zurückgegebene Objekt an, um EndWrite sicherzustellen, dass der Schreibvorgang ordnungsgemäß abgeschlossen und Ressourcen freigibt. Dazu können Sie entweder denselben Code verwenden, der aufgerufen BeginWrite hat, oder in einem an übergebenen BeginWriteRückruf. Wenn während eines asynchronen Schreibvorgangs ein Fehler auftritt, wird eine Ausnahme erst ausgelöst, wenn EndWrite mit dem IAsyncResult von dieser Methode zurückgegebenen aufgerufen wird.

Wenn ein Stream beschreibbar ist, erweitert das Schreiben am Ende des Datenstroms den Stream.

Die aktuelle Position im Stream wird aktualisiert, wenn Sie den asynchronen Lese- oder Schreibvorgang ausführen, nicht nach Abschluss des E/A-Vorgangs. Mehrere gleichzeitige asynchrone Anforderungen machen die Anforderungsvervollständigungsreihenfolge unsicher.

Verwenden Sie die CanWrite -Eigenschaft, um zu bestimmen, ob das aktuelle DeflateStream Objekt das Schreiben unterstützt.

Wenn ein Stream geschlossen wird oder Sie ein ungültiges Argument übergeben, werden Ausnahmen sofort von BeginWriteausgelöst. Fehler, die während einer asynchronen Schreibanforderung auftreten, z. B. ein Datenträgerfehler während der E/A-Anforderung, treten im Threadpoolthread auf und lösen Beim Aufrufen EndWritevon Ausnahmen aus.

Gilt für: