DataReaderExtensions.GetFieldValueAsync<T> 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 열의 값을 요청된 형식으로 비동기적으로 가져옵니다.
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)
형식 매개 변수
- T
반환될 값의 형식입니다.
매개 변수
- reader
- DbDataReader
열 값을 가져올 데이터 판독기입니다.
- name
- String
열 이름입니다.
- cancellationToken
- CancellationToken
비동기 작업을 취소하기 위한 선택적 토큰입니다.
반환
Result에 지정된 열의 값을 포함하는 작업입니다.
예외
데이터를 검색하는 동안 연결이 끊어졌거나 닫혔습니다.
또는
데이터를 검색하는 동안 데이터 판독기가 닫혔습니다.
또는
읽을 준비가 된 데이터가 없습니다(예를 들어, 첫 번째 Read()가 호출되지 않았거나 false
를 반환함).
또는
순차 모드에서 이전에 읽은 열을 읽으려고 했습니다.
또는
진행 중인 비동기 작업이 없습니다. 이는 스트림을 읽는 동안 호출할 수 있기 때문에 순차 모드로 실행할 때 모든 Get_*_ 메서드에 적용됩니다.
지정된 이름이 올바른 열 이름이 아닌 경우
데이터베이스에서 반환되는 값이 일치하지 않거나 이 값을 T
에 캐스팅할 수 없습니다.
취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.
설명
이 비동기 메서드는 판독기가 순차 모드로 생성될 때 호출 스레드를 차단하지 않도록 하는 데만 필요합니다.
순차 모드를 지정하지 않으면 ReadAsync가 완료될 때마다 모든 열 값을 메모리에서 사용할 수 있게 되고 메서드의 동기 버전을 호출해도 호출 스레드를 차단하지 않아야 합니다.
이 비동기 메서드의 기본 구현은 동기 대응 메서드를 호출하고 완료된 Task를 반환하여 호출 스레드를 차단할 수 있습니다. 이미 취소된 취소 토큰을 전달한 경우 기본 구현은 취소된 작업도 반환합니다.
비동기 프로그래밍을 지원하는 데이터 공급자는 비동기 I/O 작업을 사용하여 기본 비장애를 재정의해야 합니다.
이 메서드는 조기에 취소할 작업을 요청하는 데 사용할 수 있는 취소 토큰을 허용합니다. 구현은 이 요청을 무시할 수 있습니다.
반환된 작업이 아직 완료되지 않은 상태에서는 DbDataReader 개체의 다른 메서드와 속성을 호출하면 안 됩니다.
적용 대상
.NET