웹 서비스, 데이터베이스, 파일 조회 등 여러 소스의 데이터를 집계하고 결과를보기로 전달하는 컨트롤러 작업이 있습니다. 따라서 페이지를 렌더링하려면 모든 작업이 완료되어야합니다. 현재는 순차적으로 수행되지만 독립적이므로 성능을 향상시킬 수 있으므로 병렬로 실행하는 것이 좋습니다.ASP.NET MVC 및 장기 실행 작업
그래서 이것을 달성하는 가장 좋은 방법은 무엇입니까? 각 작업마다 새 스레드를 시작하고 모든 작업이 완료되면 주 스레드를 차단 하시겠습니까? 스레드 풀에서 스레드를 사용하거나 수동으로 새 스레드를 생성해야합니까? 스레드 풀의 스레드를 사용하면 웹 서버가 새 요청을 처리 할 수 없으므로 좋은 생각이 아닙니다. 새 스레드를 수동으로 생성하는 것은 비용이 많이들 수 있으므로 하루가 끝날 때 이러한 작업을 병행하거나 순차적으로 순차적으로 실행하여 성능이 순조롭게 향상됩니까?
페이지를로드 한 후 사용자에게 요청이 처리되고 있음을 알리는 동안 AJAX 호출 (또는 호출?) 데이터를 검색하는 옵션이 있습니까? 사용자가 어떤 일이 일어나고 있고 그 요청이 곧 답변 될 것이라는 메시지가 나타나면 사용자는 기꺼이 더 오래 기다릴 것입니다 ... –
버튼이 표시되어야하는 것과 같이 인터페이스가 이러한 작업에서 반환 된 결과에 의해 완전히 조건 지워지기 때문에 AJAX를 사용할 수 없습니다 , 볼 수있는 영역인지 아닌지를 나타냅니다. –
아마도 비동기 컨트롤러가 도움이 될까요? 작업이 대부분 I/O 바운드 인 것처럼 들립니다. – bzlm