C #에서는 메서드를 재정의하는 경우 원래 메서드가 아닌 경우 재정의를 비동기로 만들 수 있습니다. 이것은 형편없는 것 같습니다.
이 문제를 해결 한 예는 다음과 같습니다.로드 테스트 문제를 해결하기 위해 들어 왔습니다. 약 500 명의 동시 사용자에서 로그인 프로세스는 리디렉션 루프에서 중단됩니다. IIS가 "비동기 작업이 아직 보류중인 동안 비동기 모듈 또는 처리기가 완료되었습니다"라는 메시지와 함께 예외를 기록하고있었습니다. 일부 검색으로 인해 누군가가 학대하고 있다고 생각 async void
했지만 소스를 통한 빠른 검색으로 아무것도 찾을 수 없었습니다.
슬프게도, 나는 'async \ s [^ T]'와 같은 것을 찾고 싶을 때 'async \ svoid'(정규 검색)를 검색했습니다 (작업이 정규화되지 않았다고 가정하면 요점을 얻습니다).
나중에 찾은 것은 async override void onActionExecuting(...
기본 컨트롤러에있었습니다. 분명히 그것은 문제가되었고, 그것은 문제였습니다. 이를 수정하면 (순간 동기화) 문제가 해결되었습니다.
질문으로 돌아 가기 : 왜 호출 코드가이를 기다릴 수 없을 때 대체를 비동기로 표시 할 수 있습니까?
Task
.