SslStream.ReadAsync Metódus

Definíció

Túlterhelések

Name Description
ReadAsync(Memory<Byte>, CancellationToken)

Aszinkron módon beolvassa az adatokat ebből a streamből, és a megadott memóriatartományban tárolja.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Aszinkron módon beolvassa az adatokat ebből a streamből, és egy bájttömb megadott tartományában tárolja.

ReadAsync(Memory<Byte>, CancellationToken)

Aszinkron módon beolvassa az adatokat ebből a streamből, és a megadott memóriatartományban tárolja.

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)

Paraméterek

buffer
Memory<Byte>

A streamből beolvasott bájtokat fogadó puffer.

cancellationToken
CancellationToken

A lemondási kérelmek figyelésére szolgáló jogkivonat.

Válaszok

Az aszinkron olvasási műveletet képviselő feladat. A tulajdonság értéke Result a beolvasott bufferbájtok teljes számát tartalmazza. Ha nincs több beolvasandó adat, 0 értéket ad vissza.

Kivételek

A hitelesítés nem történt meg.

Az olvasási művelet nem sikerült. A hiba okának megállapításához ellenőrizze a belső kivételt, ha van ilyen.

Már folyamatban van egy olvasási művelet.

Ezt az objektumot bezárták.

A lemondási jogkivonat megszakadt. Ezt a kivételt a rendszer a visszaadott tevékenységben tárolja.

Megjegyzések

Ez a metódus annyi adatot olvas be, amennyit a buffer.

Nem hajthat végre egyszerre több olvasási műveletet.

Ezt a metódust csak a sikeres hitelesítés után hívhatja meg.

A következőre érvényes:

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Aszinkron módon beolvassa az adatokat ebből a streamből, és egy bájttömb megadott tartományában tárolja.

public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)

Paraméterek

buffer
Byte[]

A streamből beolvasott bájtokat fogadó puffer.

offset
Int32

Az a nulla alapú hely buffer , ahol a streamből beolvasott adatok tárolása megkezdhető.

count
Int32

A streamből beolvasandó bájtok maximális száma.

cancellationToken
CancellationToken

A lemondási kérelmek figyelésére szolgáló jogkivonat.

Válaszok

Az aszinkron olvasási műveletet képviselő feladat. A tulajdonság értéke Result a beolvasott bufferbájtok teljes számát tartalmazza. Ha nincs több beolvasandó adat, 0 értéket ad vissza.

Kivételek

buffer az null.

offset kisebb, mint 0.

-vagy-

count kisebb, mint 0.

-vagy-

countnagyobb, mint a mínusz offsethosszabuffer.

A hitelesítés nem történt meg.

Az olvasási művelet nem sikerült. A hiba okának megállapításához ellenőrizze a belső kivételt, ha van ilyen.

Már folyamatban van egy olvasási művelet.

Ezt az objektumot bezárták.

A lemondási jogkivonat megszakadt. Ezt a kivételt a rendszer a visszaadott tevékenységben tárolja.

Megjegyzések

A metódus legfeljebb count bájtokat olvas be a streamből, és azokat a következő időpontban buffer tárolja: offset.

Nem hajthat végre egyszerre több olvasási műveletet.

Ezt a metódust csak a sikeres hitelesítés után hívhatja meg.

Ez a metódus a feladatban tárolja az összes olyan nem használati kivételt, amelyet a metódus szinkron megfelelője tud dobni. Ha egy kivételt tárol a visszaadott tevékenységben, akkor a rendszer akkor küldi el a kivételt, amikor a feladatra vár. A használati kivételek(például ArgumentException) továbbra is szinkron módon jelennek meg. A tárolt kivételekről lásd a következő által Read(Byte[], Int32, Int32)kiadott kivételeket: .

A következőre érvényes: