2014-06-21 4 views
1

좋아 종료, 그래서 HttpClient을 사용하여 공용 API에이 작은 전화를 받았습니다 :프로세스는 비동기 작업하는 동안 예외없이

using (var httpClient = new HttpClient()) { 
    var response = await httpClient.GetAsync(uri); 
} 

을 즉시 작업이 GetAsync() 라인에 도달로, 응용 프로그램, 예외없이 종료하지도 않습니다 호출 스택이나 이벤트 콜백에서 처리되지 않은 앱 도메인 예외를 잡도록 설정했습니다. 이미 await이 실행중인 작업을 관찰하고 예외를 표시하지만, await 키워드를 제거하면 작업이 정상적으로 실행되기 때문에 문제가 발생한 것으로 생각했습니다. 여기에 무슨 문제가있을 수 있습니까?

+2

이 애플리케이션을 어떻게 실행합니까? 이 메서드를 호출하는 코드를 표시 할 수 있습니까? – i3arnon

답변

3

작업을 완료하기를 기다리거나 기다리지 않고 해당 작업을 실행 한 것일 수 있습니다. 따라서 비동기 작업이 시작되지만 응용 프로그램은 계속 진행되고 작업 자체가 완료되기 전에 끝납니다.

간단히 await 루트 호출 (또는 해당 컨텍스트에서 await을 사용할 수없는 경우 작업에 Wait 사용).

관련 문제