BufferedStream.ReadAsync(Byte[], Int32, Int32, CancellationToken) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Asynchroon leest een reeks bytes uit de huidige stroom, verplaatst de positie binnen de stream door het aantal gelezen bytes en bewaakt annuleringsaanvragen.
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)
Parameters
- buffer
- Byte[]
De buffer om de gegevens naar te schrijven.
- offset
- Int32
De byte-offset buffer waarin gegevens uit de stream moeten worden geschreven.
- count
- Int32
Het maximum aantal bytes dat moet worden gelezen.
- cancellationToken
- CancellationToken
Het token dat moet worden gecontroleerd op annuleringsaanvragen.
Retouren
Een taak die de asynchrone leesbewerking vertegenwoordigt. De geretourneerde taak bevat het totale aantal bytes dat in de buffer is gelezen. De resultaatwaarde kan kleiner zijn dan het aantal aangevraagde bytes als het aantal beschikbare bytes kleiner is dan het aangevraagde getal, of het kan 0 (nul) zijn als het einde van de stream is bereikt.
Uitzonderingen
buffer is null.
offset of count is negatief.
De som van offset en count is groter dan de bufferlengte.
De stream biedt geen ondersteuning voor lezen.
De stroom is verwijderd.
De stream wordt momenteel gebruikt door een eerdere leesbewerking.
Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.
Opmerkingen
U kunt een annuleringstoken maken door een exemplaar van de CancellationTokenSource klasse te maken en de Token eigenschap door te geven als de cancellationToken parameter.
Deze methode slaat op in de taak die alle uitzonderingen voor niet-gebruik retourneert die de synchrone tegenhanger van de methode kan genereren. Als er een uitzondering wordt opgeslagen in de geretourneerde taak, wordt deze uitzondering gegenereerd wanneer de taak wordt gewacht. Gebruiksonderzondering, zoals ArgumentException, worden nog steeds synchroon gegenereerd. Zie de uitzonderingen die zijn gegenereerd door Read(Byte[], Int32, Int32)de opgeslagen uitzonderingen voor de opgeslagen uitzonderingen.