NetworkStream.ReadAsync 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.
Überlädt
| Name | Beschreibung |
|---|---|
| ReadAsync(Memory<Byte>, CancellationToken) |
Liest Daten aus dem NetworkStream Speicher und speichert sie als asynchronen Vorgang in einem Bytespeicherbereich. |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Liest Daten aus dem NetworkStream Array und speichert sie als asynchronen Vorgang in einem angegebenen Bereich eines Bytearrays. |
ReadAsync(Memory<Byte>, CancellationToken)
Liest Daten aus dem NetworkStream Speicher und speichert sie als asynchronen Vorgang in einem Bytespeicherbereich.
public override System.Threading.Tasks.ValueTask<int> ReadAsync(Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
Parameter
- cancellationToken
- CancellationToken
Das Token, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ein ValueTask<TResult> Wert, der den asynchronen Lesevorgang darstellt. Der Wert seiner Result Eigenschaft enthält die Gesamtanzahl der Bytes, die zwischen Null (0) und der Anzahl der angeforderten Bytes gelesen buffer werden. Der Ergebniswert ist null (0), wenn null Bytes angefordert wurden oder wenn keine weiteren Bytes verfügbar sind, da der Peersocket ein ordnungsgemäßes Herunterfahren ausgeführt hat. Wenn Nullbytes angefordert werden, können Lesevorgänge sofort abgeschlossen oder nicht abgeschlossen werden, bis mindestens ein Byte verfügbar ist (aber ohne Datenverbrauch).
Ausnahmen
Das NetworkStream Lesen wird nicht unterstützt.
Das NetworkStream ist geschlossen.
Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.
Hinweise
Diese Methode liest so viele Daten, wie sie verfügbar buffer sind, und gibt die Anzahl der Bytes zurück, die erfolgreich gelesen wurden.
Note
Überprüfen Sie, ob dies NetworkStream durch Aufrufen der CanRead Eigenschaft lesbar ist. Wenn Sie versuchen, aus einem NetworkStream nicht lesbaren Text zu lesen, erhalten Sie eine InvalidOperationException.
Note
Wenn Sie eine IOExceptionEigenschaft erhalten, überprüfen Sie die InnerException Eigenschaft, um zu ermitteln, ob sie durch eine SocketException. Wenn ja, verwenden Sie die ErrorCode-Eigenschaft, um den spezifischen Fehlercode abzurufen, und verweisen Sie auf den Fehlercode Windows Sockets Version 2 API, um eine detaillierte Beschreibung des Fehlers zu erhalten.
Gilt für:
ReadAsync(Byte[], Int32, Int32, CancellationToken)
Liest Daten aus dem NetworkStream Array und speichert sie als asynchronen Vorgang in einem angegebenen Bereich eines Bytearrays.
public:
override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int size, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync(byte[] buffer, int offset, int size, System.Threading.CancellationToken cancellationToken);
abstract member ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, size As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
Parameter
- buffer
- Byte[]
Der Puffer, in den die Daten geschrieben werden sollen.
- offset
- Int32
Der Speicherort buffer , an dem die Daten gespeichert werden sollen.
- countsize
- Int32
Die Anzahl der Bytes, aus der NetworkStreamgelesen werden soll.
- cancellationToken
- CancellationToken
Das Token, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Eine Aufgabe, die den asynchronen Lesevorgang darstellt. Der Wert seiner Result Eigenschaft enthält die Gesamtanzahl der Bytes, die zwischen Null (0) und der Anzahl der angeforderten Bytes gelesen buffer werden. Der Ergebniswert ist null (0), wenn null Bytes angefordert wurden oder wenn keine weiteren Bytes verfügbar sind, da der Peersocket ein ordnungsgemäßes Herunterfahren ausgeführt hat. Wenn Nullbytes angefordert werden, können Lesevorgänge sofort abgeschlossen oder nicht abgeschlossen werden, bis mindestens ein Byte verfügbar ist (aber ohne Datenverbrauch).
Ausnahmen
Das NetworkStream Lesen wird nicht unterstützt.
Das NetworkStream ist geschlossen.
Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.
Hinweise
Diese Methode liest Daten in buffer und gibt die Anzahl der Bytes zurück, die erfolgreich gelesen wurden. Der ReadAsync Vorgang liest so viele Daten wie verfügbar, bis zur Anzahl der by den count Parameter angegebenen Bytes.
Note
Überprüfen Sie, ob dies NetworkStream durch Aufrufen der CanRead Eigenschaft lesbar ist. Wenn Sie versuchen, aus einem NetworkStream nicht lesbaren Text zu lesen, erhalten Sie eine InvalidOperationException.
Note
Wenn Sie eine IOExceptionEigenschaft erhalten, überprüfen Sie die InnerException Eigenschaft, um zu ermitteln, ob sie durch eine SocketException. Wenn ja, verwenden Sie die ErrorCode-Eigenschaft, um den spezifischen Fehlercode abzurufen, und verweisen Sie auf den Fehlercode Windows Sockets Version 2 API, um eine detaillierte Beschreibung des Fehlers zu erhalten.
Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von Read(Byte[], Int32, Int32).