ASP.NET 웹 페이지에서 시작하여 장시간 실행되는 프로세스를 처리하는 가장 좋은 방법을 알고 싶습니다.ASP.NET에서 장기 실행 프로세스 다루기
프로세스는 다양한 단계 (예 : 서버에 파일 업로드, SSIS 패키지 실행, 일부 저장 프로 시저 실행 등)로 구성 될 수 있으며 프로세스가 완료되는 데 최대 2 시간이 소요될 수 있습니다.
WCF 서비스를 사용하여 비동기 실행을하는 경우 프로세스가 실행되는 동안 사용자가 브라우저를 닫으면 프로세스 성공 또는 실패 결과가 사용자에게 표시되는 방식은 어떻게됩니까? 이 문제를 해결하기 위해 단방향 WCF 서비스 호출을 선택합니다. 그러나이 문제는 프로세스 테이블을 만들어 결과를 저장할 필요가 있다는 것입니다 (단계 중 하나에서 실패하고 어떤 단계가 성공적으로 완료되면 오류 메시지가 표시됩니다). 사용자가 웹 페이지에서 호출 할 수있는 다양한 단계가있는 이러한 프로세스가 많고 사용자가 진행 상황을 인식해야하기 때문에 추가 오버 헤드가있는 테이블 (가장 간단한 경우 상태는 "프로세스 xyz 실행 중"일 수 있습니다) 일단 완료되면 출력을 사용자에게 표시해야합니다 (예 : 저장 프로 시저 실행).
이 솔루션을 설계하는 가장 좋은 방법은 무엇입니까?
모든 답장을 보내 주셔서 감사합니다. 필자가 구축해야하는 것은 웹 인터페이스에서 트리거되는 작은 작업 실행 관리 도구와 비슷하게 보이지만 매우 일반적인 것은 아닙니다. 아마도 일반적인 프로세스 테이블을 만들고 로그 메시지를 XML로 저장할 것입니다. 로그 메시지는 주로 실행 진행 상황을 나타냅니다. – RKP