c# 의 동기화 메소드에서 비동기 메소드를 호출하십시오.
동기 코드에서 비동기 메소드를 호출하는 것은 일반적인 개발 문제입니다. 비동기 프로그래밍은 UI 응답을 유지하면서 CEO의 운영을 오랫동안 수행 할 수 있지만 일반적으로 기존 동기화 방법과 일치하지 않을 수있는 코드 구조를 조정해야합니다.
계획 1 : task.waitandunwrapexception
컨텍스트를 동기화 할 필요없이 비동기 메소드 (myasyncmedhod)가 독립적으로 실행될 수 있다면 작업을 사용할 수 있습니다.
그러나 작업을 사용할 때는주의를 기울여야합니다.
계획 2 : asynccontext.runtask
또는 myasyncmedhod가 컨텍스트와 동기화되어야하는 경우 AsyncContext.Runtask는 중첩 된 컨텍스트의 메소드를 제공합니다.
계획 3 : task.run
경우에 따라 UI 이벤트에 의존하는 비동기 방법과 같은 AsyncContext.RuntASK가 제한 될 수 있습니다. 이 경우, 스레드 풀에서 비동기 방법을 수행 할 수 있습니다.
이 방법을 위해서는 MyasyncMethod가 UI 요소 업데이트 및 ASP.NET 요청 컨텍스트 액세스에 대한 제한을 포함하여 스레드 풀의 컨텍스트와 호환 될 수 있어야합니다.
위 내용은 C#의 동기식 메소드에서 비동기 메소드를 어떻게 호출 할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!