DataReaderExtensions.GetFieldValueAsync<T> Methode

Definitie

Asynchroon haalt de waarde van de opgegeven kolom op als het aangevraagde type.

public static System.Threading.Tasks.Task<T> GetFieldValueAsync<T>(this System.Data.Common.DbDataReader reader, string name, System.Threading.CancellationToken cancellationToken = default);
static member GetFieldValueAsync : System.Data.Common.DbDataReader * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
<Extension()>
Public Function GetFieldValueAsync(Of T) (reader As DbDataReader, name As String, Optional cancellationToken As CancellationToken = Nothing) As Task(Of T)

Type parameters

T

Het type van de waarde dat moet worden geretourneerd.

Parameters

reader
DbDataReader

De gegevenslezer waaruit de kolomwaarde moet worden opgehaald.

name
String

De naam van de kolom.

cancellationToken
CancellationToken

Een optioneel token om de asynchrone bewerking te annuleren.

Retouren

Task<T>

Een taak waarvan Result de waarde van de opgegeven kolom bevat.

Uitzonderingen

De verbinding is verbroken of gesloten tijdens het ophalen van gegevens.

– of –

De gegevenslezer is gesloten tijdens het ophalen van gegevens.

– of –

Er zijn geen gegevens die kunnen worden gelezen (de eerste Read() is bijvoorbeeld niet aangeroepen of geretourneerd false).

– of –

Er is geprobeerd een eerder gelezen kolom te lezen in de sequentiële modus.

– of –

Er is een asynchrone bewerking uitgevoerd. Dit geldt voor alle Get_*_-methoden bij het uitvoeren in de sequentiële modus, zoals ze kunnen worden aangeroepen tijdens het lezen van een stream.

De opgegeven naam is geen geldige kolomnaam.

De waarde die door de database wordt geretourneerd, komt niet overeen of kan niet worden omgezet in T.

Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.

Opmerkingen

Deze asynchrone methode is alleen nodig om te voorkomen dat de aanroepende thread wordt geblokkeerd wanneer de lezer in de sequentiële modus wordt gemaakt.

Als de sequentiële modus niet is opgegeven, moeten alle kolomwaarden beschikbaar komen in het geheugen telkens wanneer ReadAsync is voltooid en moet het aanroepen van de synchrone versie van de methode de aanroepende thread niet blokkeren.

De standaardimplementatie van deze asynchrone methode roept de synchrone tegenhanger aan en retourneert een voltooide taak, waardoor de aanroepende thread mogelijk wordt geblokkeerd. De standaardimplementatie retourneert ook een geannuleerde taak als een al geannuleerd annuleringstoken is doorgegeven.

Gegevensproviders die ondersteuning bieden voor asynchrone programmering , moeten de standaard-inmplementatie overschrijven met behulp van asynchrone I/O-bewerkingen.

Deze methode accepteert een annuleringstoken dat kan worden gebruikt om de bewerking vroeg te annuleren. Implementaties kunnen deze aanvraag negeren.

Andere methoden en eigenschappen van het DbDataReader-object mogen niet worden aangeroepen terwijl de geretourneerde taak nog niet is voltooid.

Van toepassing op