CryptoStream.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.
Startet einen asynchronen Schreibvorgang. (Erwägen Sie stattdessen die Verwendung WriteAsync .)
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- buffer
- Byte[]
Der Puffer zum Schreiben von Daten aus.
- offset
- Int32
Der Byteoffset buffer , von dem aus mit dem Schreiben begonnen werden soll.
- count
- Int32
Die maximale Anzahl von Bytes, die geschrieben werden sollen.
- callback
- AsyncCallback
Ein optionaler asynchroner Rückruf, der aufgerufen werden soll, wenn der Schreibvorgang abgeschlossen ist.
- state
- Object
Ein vom Benutzer bereitgestelltes Objekt, das diese spezielle asynchrone Schreibanforderung von anderen Anforderungen unterscheidet.
Gibt zurück
Ein IAsyncResult Wert, der den asynchronen Schreibvorgang darstellt, der noch aussteht.
Ausnahmen
Es wurde versucht, einen asynchronen Schreibvorgang über das Ende des Datenstroms hinaus zu schreiben, oder es ist ein Datenträgerfehler aufgetreten.
Mindestens eines der Argumente ist ungültig.
Methoden wurden aufgerufen, nachdem der Datenstrom geschlossen wurde.
Die aktuelle Stream Implementierung unterstützt den Schreibvorgang nicht.
Hinweise
In .NET Framework 4 und früheren Versionen müssen Sie Methoden wie BeginWrite z. B. und EndWrite zum Implementieren asynchroner E/A-Vorgänge verwenden. Diese Methoden sind weiterhin in den aktuellen Versionen verfügbar, um Legacycode zu unterstützen; Die neuen asynchronen Methoden, z ReadAsync. B. , WriteAsync, CopyToAsyncund FlushAsync, helfen Ihnen jedoch, asynchrone E/A-Vorgänge einfacher zu implementieren.
Übergeben Sie die IAsyncResult von der aktuellen Methode zurückgegebene Methode, um EndWrite sicherzustellen, dass der Schreibvorgang abgeschlossen ist und Ressourcen entsprechend freigibt.
EndWritemuss einmal für jeden Anruf aufgerufen werden.BeginWrite Dazu können Sie entweder denselben Code verwenden, der aufgerufen BeginWrite oder in einem Rückruf übergeben wird BeginWrite. Wenn während eines asynchronen Schreibvorgangs ein Fehler auftritt, wird eine Ausnahme erst ausgelöst, wenn EndWrite sie mit der IAsyncResult von dieser Methode zurückgegebenen aufgerufen wird.
Wenn ein Datenstrom schreibbar ist, wird der Datenstrom durch Schreiben am Ende des Datenstroms erweitert.
Die aktuelle Position im Datenstrom wird aktualisiert, wenn Sie das asynchrone Lesen oder Schreiben ausgeben, nicht, wenn der E/A-Vorgang abgeschlossen ist. Mehrere gleichzeitige asynchrone Anforderungen rendern die Anforderungsabschlussreihenfolge unsicher.
Verwenden Sie die CanWrite Eigenschaft, um zu bestimmen, ob die aktuelle Instanz das Schreiben unterstützt.
Wenn ein Datenstrom geschlossen wird oder Sie ein ungültiges Argument übergeben, werden Ausnahmen sofort von BeginWrite. 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 beim Aufrufen aus EndWrite.