DataReaderExtensions.GetFieldValueAsync<T> Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Asynchronně získá hodnotu zadaného sloupce jako požadovaný typ.
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)
Parametry typu
- T
Typ hodnoty, která se má vrátit.
Parametry
- reader
- DbDataReader
Čtečka dat, ze které získá hodnotu sloupce.
- name
- String
Název sloupce.
- cancellationToken
- CancellationToken
Volitelný token pro zrušení asynchronní operace.
Návraty
Úkol, jehož Result hodnota obsahuje zadaný sloupec.
Výjimky
Během načítání dat došlo k ukončení nebo zavření připojení.
nebo
Čtečka dat se zavřela během načítání dat.
nebo
Nejsou připravena žádná data ke čtení (například první Read() nebyla volána nebo vrácena false).
nebo
Pokusili jste se přečíst dříve přečtený sloupec v sekvenčním režimu.
nebo
Probíhá asynchronní operace. To platí pro všechny metody Get_*_ při spuštění v sekvenčním režimu, protože se můžou volat při čtení datového proudu.
Zadaný název není platný název sloupce.
Hodnota vrácená databází se neshoduje nebo nelze přetypovat na Thodnotu .
Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.
Poznámky
Tato asynchronní metoda je nutná pouze k tomu, aby se zabránilo blokování volajícího vlákna při vytváření čtečky v sekvenčním režimu.
Pokud není zadaný sekvenční režim, měly by být všechny hodnoty sloupců dostupné v paměti při každém dokončení readAsync a volání synchronní verze metody by nemělo blokovat volající vlákno.
Výchozí implementace této asynchronní metody vyvolá její synchronní protějšek a vrátí dokončenou úlohu, která potenciálně blokuje volající vlákno. Výchozí implementace také vrátí zrušený úkol, pokud byl předán již zrušený token zrušení.
Zprostředkovatelé dat, kteří podporují asynchronní programování , by měli přepsat výchozí inplementaci pomocí asynchronních vstupně-výstupních operací.
Tato metoda přijímá token zrušení, který lze použít k vyžádání operace, aby byla zrušena dříve. Implementace můžou tento požadavek ignorovat.
Jiné metody a vlastnosti DbDataReader objektu by neměly být vyvolány, zatímco vrácená úloha ještě není dokončena.