일부 비동기 쿼리를 실행하려고합니다. 그러나 코드를 통해 디버깅 할 때 ToListAsync()가 호출 될 때 대부분 프로그램이 중지됩니다. 가시적 인 예외는 없으며 콜 스택 창은 지워집니다. VS에서 pause 버튼을 누르면 현재 메소드가 호출되기 바로 전에 스택 프레임을 볼 수 있습니다.ToListAsync()가 전혀 완료되지 않음
var res1 = await context.Address().Where(...).ToListAsync();
var res2 = await context.Person().Where(...).ToListAsync();
var res3 = await context.Rule().Where(...).ToListAsync();
경우에 따라 첫 번째 호출이 작동하는 경우도 있고, 드물게 두 번째 호출이 작동하는 경우도 있습니다. 적어도 세 번째 호출에서 프로그램이 중지됩니다. 나는 전혀 단서 왜 ... 코멘트에서
당신은 "프로그램이 중지"에 의해 무엇을 의미합니까? 예를 들어 명령 행 프로그램입니까? 그렇다면 호출이 비 차단이기 때문에 종료됩니다. 여기에 더 많은 컨텍스트가 필요합니다. –
호출 스택에서 더 이상 '대기'또는 '결과'를 호출하고 있습니까? –
wpf 응용 프로그램입니다. 명령은 비동기 메서드 내에 있습니다. 나는 이것을'var result = LoadAsync.Result()'를 사용하여 비동기 방식으로 호출한다. _stops_를 사용하면 실행이 영원히 걸리는 것처럼 보입니다. 디버거는 더 이상 진행되지 않습니다. –