DataReaderExtensions.IsDBNullAsync 메서드

정의

열의 값이 존재하지 않거나 누락되었는지 여부를 나타내는 값을 비동기적으로 가져옵니다.

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

매개 변수

reader
DbDataReader

열 값을 가져올 데이터 판독기입니다.

name
String

열 이름입니다.

cancellationToken
CancellationToken

비동기 작업을 취소하기 위한 선택적 토큰입니다.

반환

Result 속성이 지정된 열 값이 DBNull와 같으면 true, 아니면 falseTask<TResult>입니다.

예외

데이터를 검색하는 동안 연결이 끊어졌거나 닫혔습니다.

또는

데이터를 검색하는 동안 데이터 판독기가 닫힙니다.

또는

읽을 준비가 된 데이터가 없는 경우(예를 들어, 첫 번째 Read()가 호출되지 않았거나 false를 반환한 경우)

또는

순차 모드에서 이전에 읽은 열을 읽으려고 했습니다.

또는

진행 중인 비동기 작업이 없습니다. 이는 스트림을 읽는 동안 호출할 수 있기 때문에 순차 모드로 실행할 때 모든 Get* 메서드에 적용됩니다.

지정된 이름이 올바른 열 이름이 아닌 경우

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

설명

이 비동기 메서드는 판독기가 순차 모드로 생성될 때 호출 스레드를 차단하지 않도록 하는 데만 필요합니다.

순차 모드를 지정하지 않으면 ReadAsync가 완료될 때마다 모든 열 값을 메모리에서 사용할 수 있게 되고 메서드의 동기 버전을 호출해도 호출 스레드를 차단하지 않아야 합니다.

이 비동기 메서드의 기본 구현은 동기 대응 메서드를 호출하고 완료된 Task를 반환하여 호출 스레드를 차단할 수 있습니다. 이미 취소된 취소 토큰을 전달한 경우 기본 구현은 취소된 작업도 반환합니다.

비동기 프로그래밍을 지원하는 데이터 공급자는 비동기 I/O 작업을 사용하여 기본 비장애를 재정의해야 합니다.

이 메서드는 조기에 취소할 작업을 요청하는 데 사용할 수 있는 취소 토큰을 허용합니다. 구현은 이 요청을 무시할 수 있습니다.

반환된 작업이 아직 완료되지 않은 상태에서는 DbDataReader 개체의 다른 메서드와 속성을 호출하면 안 됩니다.

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 작업에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw IsDBNull(DbDataReader, String)된 예외를 참조하세요.

적용 대상