BufferedStream.ReadAsync Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| Name | Description |
|---|---|
| ReadAsync(Memory<Byte>, CancellationToken) |
Läser asynkront en sekvens med byte från den aktuella buffrade strömmen och flyttar positionen inom den buffrade strömmen med antalet lästa byte. |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Läser asynkront en sekvens med byte från den aktuella strömmen, avancerar positionen i strömmen med antalet lästa byte och övervakar begäranden om annullering. |
ReadAsync(Memory<Byte>, CancellationToken)
- Källa:
- BufferedStream.cs
- Källa:
- BufferedStream.cs
- Källa:
- BufferedStream.cs
- Källa:
- BufferedStream.cs
- Källa:
- BufferedStream.cs
Läser asynkront en sekvens med byte från den aktuella buffrade strömmen och flyttar positionen inom den buffrade strömmen med antalet lästa byte.
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)
Parametrar
- cancellationToken
- CancellationToken
Token som ska övervakas för annulleringsbegäranden. Standardvärdet är None.
Returer
En uppgift som representerar den asynkrona läsåtgärden. Värdet för egenskapen Result innehåller det totala antalet byte som lästs in i bufferten. Resultatvärdet kan vara mindre än antalet byte som allokerats i bufferten om så många byte för närvarande inte är tillgängliga, eller om det kan vara 0 (noll) om strömmens slut har nåtts.
Undantag
Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.
Kommentarer
Med ReadAsync metoden kan du utföra resursintensiva I/O-åtgärder utan att blockera huvudtråden. Den här prestandaöverväganden är särskilt viktig i en Windows 8.x Store-app eller skrivbordsapp där en tidskrävande strömåtgärd kan blockera användargränssnittstråden och få appen att se ut som om den inte fungerar. Asynkrona metoder används tillsammans med nyckelorden async och await i Visual Basic och C#.
Använd egenskapen CanRead för att avgöra om den aktuella instansen stöder läsning.
Om åtgärden avbryts innan den slutförs innehåller TaskStatus.Canceled den returnerade aktiviteten värdet för Status egenskapen.
Gäller för
ReadAsync(Byte[], Int32, Int32, CancellationToken)
- Källa:
- BufferedStream.cs
- Källa:
- BufferedStream.cs
- Källa:
- BufferedStream.cs
- Källa:
- BufferedStream.cs
- Källa:
- BufferedStream.cs
Läser asynkront en sekvens med byte från den aktuella strömmen, avancerar positionen i strömmen med antalet lästa byte och övervakar begäranden om annullering.
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)
Parametrar
- buffer
- Byte[]
Bufferten som data ska skrivas till.
- offset
- Int32
Byteförskjutningen buffer där du börjar skriva data från dataströmmen.
- count
- Int32
Det maximala antalet byte som ska läsas.
- cancellationToken
- CancellationToken
Token som ska övervakas för annulleringsbegäranden.
Returer
En uppgift som representerar den asynkrona läsåtgärden. Den returnerade aktiviteten innehåller det totala antalet byte som lästs in i bufferten. Resultatvärdet kan vara mindre än det antal byte som begärs om antalet tillgängliga byte för närvarande är mindre än det begärda talet, eller om det kan vara 0 (noll) om strömmens slut har nåtts.
Undantag
buffer är null.
offset eller count är negativ.
Summan av offset och count är större än buffertlängden.
Strömmen stöder inte läsning.
Strömmen har tagits bort.
Strömmen används för närvarande av en tidigare läsåtgärd.
Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.
Kommentarer
Du kan skapa en annulleringstoken genom att skapa en instans av CancellationTokenSource klassen och skicka Token egenskapen som cancellationToken parameter.
Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Read(Byte[], Int32, Int32).