DbDataReader.GetFieldValueAsync Metodo

Definizione

Ottiene in modo asincrono il valore della colonna specificata come tipo richiesto.

Overload

GetFieldValueAsync<T>(Int32)

Ottiene in modo asincrono il valore della colonna specificata come tipo richiesto.

GetFieldValueAsync<T>(Int32, CancellationToken)

Ottiene in modo asincrono il valore della colonna specificata come tipo richiesto.

GetFieldValueAsync<T>(Int32)

Origine:
DbDataReader.cs
Origine:
DbDataReader.cs
Origine:
DbDataReader.cs

Ottiene in modo asincrono il valore della colonna specificata come tipo richiesto.

public:
generic <typename T>
 System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal);
public System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int ordinal);
member this.GetFieldValueAsync : int -> System.Threading.Tasks.Task<'T>
Public Function GetFieldValueAsync(Of T) (ordinal As Integer) As Task(Of T)

Parametri di tipo

T

Tipo di valore da restituire.

Parametri

ordinal
Int32

Ordinale di colonna in base zero.

Restituisce

Task<T>

Attività per cui Result contiene il valore della colonna specificata.

Eccezioni

La connessione è stata eliminata o chiusa durante il recupero dei dati.

-oppure-

Il lettore dati è stato chiuso durante il recupero dei dati.

-oppure-

Non sono disponibili dati pronti per essere letti (ad esempio, il primo Read() non è stato chiamato o ha restituito false).

-oppure-

Ha tentato di leggere una colonna letta in precedenza in modalità sequenziale.

-oppure-

Operazione asincrona in corso. Si applica a tutti i metodi Get_*_ durante l'esecuzione in modalità sequenziale, in quanto possono essere chiamati durante la lettura di un flusso.

L'indice di colonna non è compreso nell'intervallo.

Il valore restituito dal database non corrisponde o non è possibile eseguirne il cast a T.

Commenti

Questo metodo asincrono è necessario solo per evitare di bloccare il thread chiamante quando il lettore viene creato in modalità sequenziale.

Se la modalità sequenziale non viene specificata, tutti i valori di colonna devono diventare disponibili in memoria ogni volta che ReadAsync viene completato e la chiamata alla versione sincrona del metodo non deve bloccare il thread chiamante.

L'implementazione predefinita di questo metodo asincrono richiama la controparte sincrona e restituisce un'attività completata, bloccando potenzialmente il thread chiamante.

I provider di dati che supportano la programmazione asincrona devono eseguire l'override dell'implementazione predefinita usando operazioni di I/O asincrone.

Non si devono richiamare altri metodi e proprietà dell'oggetto DbDataReader mentre l'attività restituita non è ancora completata.

Si applica a

GetFieldValueAsync<T>(Int32, CancellationToken)

Origine:
DbDataReader.cs
Origine:
DbDataReader.cs
Origine:
DbDataReader.cs

Ottiene in modo asincrono il valore della colonna specificata come tipo richiesto.

public:
generic <typename T>
 virtual System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal, System::Threading::CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int ordinal, System.Threading.CancellationToken cancellationToken);
abstract member GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
override this.GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
Public Overridable Function GetFieldValueAsync(Of T) (ordinal As Integer, cancellationToken As CancellationToken) As Task(Of T)

Parametri di tipo

T

Tipo di valore da restituire.

Parametri

ordinal
Int32

Ordinale di colonna in base zero.

cancellationToken
CancellationToken

Token per annullare l'operazione asincrona.

Restituisce

Task<T>

Attività per cui Result contiene il valore della colonna specificata.

Eccezioni

La connessione è stata eliminata o chiusa durante il recupero dei dati.

-oppure-

Il lettore dati è stato chiuso durante il recupero dei dati.

-oppure-

Non sono disponibili dati pronti per essere letti (ad esempio, il primo Read() non è stato chiamato o ha restituito false).

-oppure-

Ha tentato di leggere una colonna letta in precedenza in modalità sequenziale.

-oppure-

Operazione asincrona in corso. Si applica a tutti i metodi Get_*_ durante l'esecuzione in modalità sequenziale, in quanto possono essere chiamati durante la lettura di un flusso.

L'indice di colonna non è compreso nell'intervallo.

Il valore restituito dal database non corrisponde o non è possibile eseguirne il cast a T.

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

Commenti

Questo metodo asincrono è necessario solo per evitare di bloccare il thread chiamante quando il lettore viene creato in modalità sequenziale.

Se la modalità sequenziale non viene specificata, tutti i valori di colonna devono diventare disponibili in memoria ogni volta che ReadAsync viene completato e la chiamata alla versione sincrona del metodo non deve bloccare il thread chiamante.

L'implementazione predefinita di questo metodo asincrono richiama la controparte sincrona e restituisce un'attività completata, bloccando potenzialmente il thread chiamante. L'implementazione predefinita restituisce anche un'attività annullata se è stato passato un token di annullamento già annullato.

I provider di dati che supportano la programmazione asincrona devono eseguire l'override dell'implementazione predefinita usando operazioni di I/O asincrone.

Questo metodo accetta un token di annullamento che può essere utilizzato per richiedere che l'operazione venga annullata in anticipo. Le implementazioni possono ignorare la richiesta.

Non si devono richiamare altri metodi e proprietà dell'oggetto DbDataReader mentre l'attività restituita non è ancora completata.

Si applica a