현재 Stephen Cleary의 " Concurrency in C # Cookbook "을 읽고 있는데 다음 기술을 발견했습니다.
var completedTask = await Task.WhenAny(downloadTask, timeoutTask);
if (completedTask == timeoutTask)
return null;
return await downloadTask;
downloadTask호출이고 httpclient.GetStringAsync, 그리고 timeoutTask실행된다 Task.Delay.
시간 초과되지 않은 downloadTask경우 이미 완료된 것입니다. downloadTask.Result작업이 이미 완료된 경우 반환하는 대신 두 번째 대기를 수행해야하는 이유는 무엇 입니까?
AggregateException로 Result를 통해 첫 번째 예외 대 ExceptionDispatchInfo와 await). : 스티븐 Toub의 ".NET 4.5 태스크 예외 처리"에서 자세히 설명 blogs.msdn.com/b/pfxteam/archive/2011/09/28/... )
downloadTask이며timeoutTask? 그들은 무엇을합니까?