Async Void 및 ASP.Net: 예외 이해
Async void 메서드를 ASP.Net 애플리케이션에서 사용할 때 예외가 발생할 수 있습니다. "비동기 작업이 아직 보류 중인 동안 비동기 모듈 또는 처리기가 완료되었습니다." 이 예외는 async void가 호출 시 처리되지 않은 작업의 수를 늘리고 완료 시 이를 감소시키기 때문에 발생합니다.
반대로 비동기 Task 메서드는 Task 개체를 반환하므로 ASP.Net 프레임워크가 비동기 작업을 추적하고 처리할 수 있습니다.
Task가 도움이 되는 이유
Task를 반환하면 프레임워크를 활성화하여 다음을 수행할 수 있습니다.
Async Void 및 Fire-and-Forget
async void 메서드는 Fire-and-forget 접근 방식을 구현하는 것처럼 보일 수 있지만 이는 정확하지 않습니다. ASP.Net의 맥락에서. 프레임워크는 이러한 메서드를 적극적으로 추적하여 조기에 완료되면 예외를 발생시킵니다.
진정한 실행 후 잊어버리기 동작을 달성하려면 비동기 작업 메서드를 사용하고 반환된 작업을 무시하세요. 그러나 ASP.Net의 요청에서 조기 반환은 일반적으로 잠재적인 문제로 인해 권장되지 않습니다.
추가 참고 사항
위 내용은 ASP.NET에서 'async void'를 사용하면 종종 '비동기 작업이 아직 보류 중인 동안 비동기 모듈 또는 처리기가 완료되었습니다'라는 결과가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!