...Async
으로 끝나는 메소드와 Task
을 제공하는 라이브러리를 사용하고 있습니다. 나는 이것을 명령 행 응용 프로그램에서 사용할 것이다. 그래서 그것들을 동 기적으로 많이 호출해야합니다.AggregateException에서 예외를 래핑하지 않고 비동기 작업을 기다립니다.
Main
메서드에서 async
수정자를 사용할 수 없기 때문에 물론 # Main
메서드에서 이러한 메서드를 호출 할 수 없습니다. 가정이 작업입니다 : 내가 좋아하는 몇 가지 솔루션을 발견
var task = datastore.Save(data);
: AggregateException
에
Tasks.WaitAll(task);
task.Wait();
그러나이 모든 랩 던져 예외를 내가 것을 원하지 않는다. 그냥 라고 말하고 싶습니다. 원본 예외가 발생하기를 기대합니다.
Task<TResult>
을 반환하는 메서드를 사용할 때 task.Result
은 연속 작업이 설정되어 있지 않아도 AggregateException
을 throw합니다. 왜 이런 일이 일어나고있는거야?
그래서 난 그RunSynchronously may not be called on a task not bound to a delegate, such as the task returned from an asynchronous method.
async
로 표시 방법이 아니 것 같아요 :
나는 또한 시도했다
task.RunSynchronously();
그것은 오류가 있습니다.
비동기 컨텍스트가없는 콘솔 앱에서 비동기 앱용으로 설계된 라이브러리를 사용하는 패턴에 대한 아이디어가 있습니까?