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 mit dem Schreiben begonnen werden 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 mithilfe der WriteAsync -Methode asynchrone Schreibvorgänge ausführen. Die BeginWrite -Methode ist in 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 die Ressourcen ordnungsgemäß abschließt und freigibt. Dazu können Sie entweder denselben Code verwenden, der aufgerufen hat BeginWrite , oder in einem an übergebenen BeginWriteRückruf. Wenn während eines asynchronen Schreibvorgangs ein Fehler auftritt, wird erst dann eine Ausnahme ausgelöst, wenn EndWrite mit dem aufgerufen wird, das IAsyncResult von dieser Methode zurückgegeben 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. Bei mehreren gleichzeitigen asynchronen Anforderungen wird die Reihenfolge der Anforderungsvervollständigung 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 Ausnahmen aus, wenn aufgerufen wird EndWrite.

Gilt für: