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