클라이언트/서버 응용 프로그램에서 장기 실행 프로세스를 처리 할 수있는 방법을 설계하고 구현해야합니다. 일반적인 장기 실행 프로세스는 2-3 분이 소요될 수 있습니다. 그 동안 UI에 진행 상황을보고하고 UI를 계속 응답해야합니다. 서버 측 프로세스를 시작하고 할당 LRPID을 (긴 프로세스 ID를 실행) 다음 반환 프로세스를 시작장기 실행 프로세스에 대한 WCF의 진행 알림 - 어떻게?
한 비동기 요청을 :
나는 몇 가지 솔루션을하지만 내 마음에 이러한 데은 해당 LRPID를 사용하여 클라이언트에서 주기적으로 폴링합니다. (프로 : 간단한 배포, 방화벽이 장난하지 콘 : Unelegant는, 자원 등 소모)
를 사용하여 양면 인쇄 (예 : NetTcpBinding로) 바인딩 및 진전이 이루어지고로 (서버에서 콜백을 시작 프로 : 우아한, 효율적인, 콘 : 배포 악몽)
[귀하의 제안 ???]
당신이 이것을 어떻게 받아 들일 수 있습니까?
작성된 클라이언트 측 응용 프로그램은 무엇입니까? –
배포 악몽? 왜, IIS/WAS 때문에? 그런 다음 사용하지 마십시오. –
@Daniel Auger : 클라이언트 응용 프로그램이 WPF로 작성되었습니다. –