Condividi tramite


PipeStream.ReadAsync Metodo

Definizione

Overload

Nome Descrizione
ReadAsync(Memory<Byte>, CancellationToken)

Legge in modo asincrono una sequenza di byte dal flusso corrente, li scrive in un intervallo di memoria di byte, sposta in avanti la posizione all'interno del flusso in base al numero di byte letti e monitora le richieste di annullamento.

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

Legge in modo asincrono una sequenza di byte dal flusso corrente a una matrice di byte a partire da una posizione specificata per un numero specificato di byte, sposta la posizione all'interno del flusso in base al numero di byte letti e monitora le richieste di annullamento.

ReadAsync(Memory<Byte>, CancellationToken)

Origine:
PipeStream.Unix.cs
Origine:
PipeStream.Unix.cs
Origine:
PipeStream.Unix.cs
Origine:
PipeStream.Unix.cs
Origine:
PipeStream.Unix.cs

Legge in modo asincrono una sequenza di byte dal flusso corrente, li scrive in un intervallo di memoria di byte, sposta in avanti la posizione all'interno del flusso in base al numero di byte letti e monitora le richieste di annullamento.

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)

Parametri

buffer
Memory<Byte>

Area di memoria in cui scrivere i dati.

cancellationToken
CancellationToken

Token da monitorare per le richieste di annullamento. Il valore predefinito è None.

Restituisce

Attività che rappresenta l'operazione di lettura asincrona. Il valore della proprietà Result contiene il numero totale di byte letti nel buffer. Il valore del risultato può essere minore del numero di byte allocati nel buffer se tale numero di byte non è attualmente disponibile oppure può essere 0 (zero) se è stata raggiunta la fine del flusso.

Eccezioni

Il flusso non supporta la lettura.

Impossibile accedere a una pipe chiusa.

La pipe non è ancora stata connessa.

oppure

La pipe è in uno stato disconnesso.

oppure

L'handle pipe non è stato impostato. (L'implementazione è stata PipeStream chiamata InitializeHandle(SafePipeHandle, Boolean, Boolean)?

Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.

Commenti

Il ReadAsync metodo consente di eseguire operazioni di I/O a elevato utilizzo di risorse senza bloccare il thread principale. Questa considerazione sulle prestazioni è particolarmente importante nelle applicazioni in cui un'operazione di flusso dispendiosa in termini di tempo può bloccare il thread dell'interfaccia utente e rendere l'app come se non funzionasse. I metodi asincroni vengono usati insieme alle async parole chiave e await in Visual Basic e C#.

Utilizzare la CanRead proprietà per determinare se l'istanza corrente supporta la lettura.

Se l'operazione viene annullata prima del completamento, l'attività restituita contiene il TaskStatus.Canceled valore per la Status proprietà .

Si applica a

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

Origine:
PipeStream.Unix.cs
Origine:
PipeStream.Unix.cs
Origine:
PipeStream.Unix.cs
Origine:
PipeStream.Unix.cs
Origine:
PipeStream.Unix.cs

Legge in modo asincrono una sequenza di byte dal flusso corrente a una matrice di byte a partire da una posizione specificata per un numero specificato di byte, sposta la posizione all'interno del flusso in base al numero di byte letti e monitora le richieste di annullamento.

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)

Parametri

buffer
Byte[]

Buffer in cui scrivere i dati.

offset
Int32

Offset di byte in in buffer corrispondenza del quale iniziare a scrivere dati dal flusso.

count
Int32

Numero massimo di byte da leggere.

cancellationToken
CancellationToken

Token da monitorare per le richieste di annullamento. Il valore predefinito è None.

Restituisce

Attività che rappresenta l'operazione di lettura asincrona. Il valore della proprietà Result contiene il numero totale di byte letti nel buffer. Il valore del risultato può essere minore del numero di byte richiesti se il numero di byte attualmente disponibili è minore del numero richiesto oppure può essere 0 (zero) se è stata raggiunta la fine del flusso.

Eccezioni

Il flusso non supporta la lettura.

Impossibile accedere a una pipe chiusa.

La pipe non è ancora stata connessa.

oppure

La pipe è in uno stato disconnesso.

oppure

L'handle pipe non è stato impostato. (L'implementazione è stata PipeStream chiamata InitializeHandle(SafePipeHandle, Boolean, Boolean)?

Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.

Commenti

Il ReadAsync metodo consente di eseguire operazioni di I/O a elevato utilizzo di risorse senza bloccare il thread principale. Questa considerazione sulle prestazioni è particolarmente importante nelle applicazioni in cui un'operazione di flusso dispendiosa in termini di tempo può bloccare il thread dell'interfaccia utente e rendere l'app come se non funzionasse. I metodi asincroni vengono usati insieme alle async parole chiave e await in Visual Basic e C#.

Utilizzare la CanRead proprietà per determinare se l'istanza corrente supporta la lettura.

Se l'operazione viene annullata prima del completamento, l'attività restituita contiene il TaskStatus.Canceled valore per la Status proprietà .

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da Read(Byte[], Int32, Int32).

Si applica a