IDbCommand 인터페이스에 비동기 기능을 추가하는 것이 합리적인 방법입니까?비동기 기능이 IDbCommand 인터페이스에서 누락되었습니다.
public async static Task<IDataReader> ExecuteReaderAsync(this IDbCommand self) {
DbCommand dbCommand = self as DbCommand;
if (dbCommand != null) {
return await dbCommand.ExecuteReaderAsync().ContinueWith(task => (IDataReader)task.Result);
} else {
return await Task.Run(() => self.ExecuteReader());
}
}
특히, 내가 완전히 확실하지 않다 무엇을 가짜로 "ContinueWith" "작업"의 공분산을 사용하는 효과.
들어오는 "self"인스턴스가 DbCommand에서 상속되지 않는 경우에는 "self.ExecuteReader()"를 실행하는 동안 스레드 풀 스레드가 사용 및 차단됩니까?
여기 비동기 지원을위한 IDb 확장 기능을 완전히 구현 한 경우 a link입니다.
는 .NET 4.5을 사용하는 경우가
라이브러리를 너겟 패키지로 게시 하시겠습니까? – binki