비동기 메소드를 동기식 C# 코드에 통합
이 접근법은 비동기적인 작업이 완료되기를 직접 기다립니다. 결정적으로, 를 사용하면 또는 보다 더 우아하게 예외를 처리하여 내에서 예외의 포장을 방지합니다. 비동기 방법이 원래 실행 컨텍스트를 유지할 필요가 없을 때 이상적입니다. 접근 2 :
는 중첩 컨텍스트 솔루션을 제공합니다. 이것은 잠재적 교착 상태를 피합니다. 그러나이 방법은 특히 비동기 방법이 UI 이벤트를 기다리는 경우 보편적으로 적용되지 않을 수 있습니다.
접근 3 : 스레드 풀 실행
Task.WaitAndUnwrapException()
가 부적합한 것으로 판명되면 스레드 풀에서 비동기 메소드를 시작하면 대안이 제공됩니다. 이를 위해서는 비동기 방법이 스레드 풀의 컨텍스트와 호환되어야합니다. 이 접근법은 비동기 방법 자체 내에서 를 사용하는 것과 기능적으로 유사하며 접근 1의 사용을 가능하게합니다.
모범 사례
의 사용 우선 순위를 정하는 것이 좋습니다. Task.WaitAndUnwrapException()
위 내용은 C#에서 비동기 메소드를 동기적으로 호출하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!