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

Definition

Beginnt einen asynchronen Schreibvorgang.Begins an asynchronous write operation. (Verwenden Sie stattdessen WriteAsync.)(Consider using WriteAsync instead.)

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, aus dem Daten geschrieben werden sollen.The buffer to write data from.

offset
Int32

Der Byteoffset im buffer, ab dem geschrieben werden soll.The byte offset in buffer from which to begin writing.

count
Int32

Die maximale Anzahl der zu schreibenden Bytes.The maximum number of bytes to write.

callback
AsyncCallback

Ein optionaler asynchroner Rückruf, der nach Abschluss des Schreibvorgangs aufgerufen wird.An optional asynchronous callback, to be called when the write is complete.

state
Object

Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Schreibanforderung von anderen Anforderungen unterscheidet.A user-provided object that distinguishes this particular asynchronous write request from other requests.

Gibt zurück

IAsyncResult

Ein IAsyncResult, das den asynchronen Schreibvorgang darstellt, der möglicherweise noch aussteht.An IAsyncResult that represents the asynchronous write, which could still be pending.

Ausnahmen

Es wurde versucht, einen asynchronen Schreibvorgang über das Ende des Streams hinaus durchzuführen, oder es ist ein Datenträgerfehler aufgetreten.Attempted an asynchronous write past the end of the stream, or a disk error occurred.

Mindestens eines der Argumente ist ungültig.One or more of the arguments is invalid.

Es wurden Methoden aufgerufen, nachdem der Stream geschlossen wurde.Methods were called after the stream was closed.

Die aktuelle Stream-Implementierung unterstützt den Schreibvorgang nicht.The current Stream implementation does not support the write operation.

Hinweise

In .NET Framework 4 und vorherigen Versionen müssen Sie Methoden wie BeginWrite und EndWrite verwenden, um asynchrone E/A-Vorgänge zu implementieren.In the .NET Framework 4 and earlier versions, you have to use methods such as BeginWrite and EndWrite to implement asynchronous I/O operations. Diese Methoden sind weiterhin in .net verfügbar, um Legacy Code zu unterstützen. die neuen Async-Methoden, wie z ReadAsync . b WriteAsync .,, CopyToAsync und FlushAsync , unterstützen Sie jedoch bei der einfacheren Implementierung asynchroner e/a-Vorgänge.These methods are still available in .NET to support legacy code; however, the new async methods, such as ReadAsync, WriteAsync, CopyToAsync, and FlushAsync, help you implement asynchronous I/O operations more easily.

Übergeben Sie den IAsyncResult von der aktuellen Methode zurückgegebenen an, EndWrite um sicherzustellen, dass der Schreibvorgang abgeschlossen ist und Ressourcen entsprechend freigibt.Pass the IAsyncResult returned by the current method to EndWrite to ensure that the write completes and frees resources appropriately. EndWrite muss für jeden Aufruf von einmal aufgerufen werden BeginWrite .EndWrite must be called once for every call to BeginWrite. Hierfür können Sie den gleichen Code verwenden, der BeginWrite oder in einem Rückruf aufgerufen hat, der an übermittelt wurde BeginWrite .You can do this either by using the same code that called BeginWrite or in a callback passed to BeginWrite. Wenn ein Fehler während eines asynchronen Schreibzugriffs auftritt, wird keine Ausnahme ausgelöst, solange nicht EndWrite mit der IAsyncResult von dieser Methode zurückgegebenen aufgerufen wird.If an error occurs during an asynchronous write, an exception will not be thrown until EndWrite is called with the IAsyncResult returned by this method.

Wenn ein Datenstrom beschreibbar ist, wird der Stream durch Schreiben am Ende des Streams erweitert.If a stream is writable, writing at the end of the stream expands the stream.

Die aktuelle Position im Stream wird aktualisiert, wenn Sie den asynchronen Lese-oder Schreibvorgang ausgeben, nicht, wenn der e/a-Vorgang abgeschlossen ist.The current position in the stream is updated when you issue the asynchronous read or write, not when the I/O operation completes. Durch mehrere gleichzeitige asynchrone Anforderungen wird die Reihenfolge der Anforderungs Vervollständigung unsicher.Multiple simultaneous asynchronous requests render the request completion order uncertain.

Verwenden Sie die- CanWrite Eigenschaft, um zu bestimmen, ob die aktuelle Instanz Schreibvorgänge unterstütztUse the CanWrite property to determine whether the current instance supports writing.

Wenn ein Stream geschlossen wird oder Sie ein ungültiges Argument übergeben, werden Ausnahmen sofort von ausgelöst BeginWrite .If a stream is closed or you pass an invalid argument, exceptions are thrown immediately from BeginWrite. Fehler, die während einer asynchronen Schreib Anforderung auftreten, z. b. ein Datenträger Fehler während der e/a-Anforderung, treten im Thread Pool Thread auf und lösen Ausnahmen aus, wenn aufgerufen wird EndWrite .Errors that occur during an asynchronous write request, such as a disk failure during the I/O request, occur on the thread pool thread and throw exceptions when calling EndWrite.

Gilt für: