DeflateStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für