내가 현재 가지고있는 것은이 의사 코드와 요약 할 수 있습니다.
public static void Main(string[] args)
{
var listOfObjects = Database.GetObjectsToUploadToOnlineService();
Parallel.ForEach(Upload)
}
private static void Upload(MyUploadObject obj)
{
//Build object (takes a few milliseconds)
//Format to JSON (takes a few more milliseconds)
//Upload (can take up to a max of 10 minutes)
//Wait for a response (can take up to a max of 10 minutes)
//Save response to our database (takes a few milliseconds)
}
이 프로그램은 서버에 예약 된 작업으로 설정되었습니다. 우리는 프로그램을 소유하고 있으며 우리가 원하는 것을 할 수 있습니다. 내 질문은 자동 모니터링 확인에 관한 블로그에서 나옵니다 (링크가 없습니다).
그래서 제가 생각하게되었습니다 : 세상에서 다른 "모니터링"프로그램을 실행할 수 있도록 어떻게 프로그램을 수정할 수 있습니까? 또는 콘솔 프로그램에서 숨겨진 WPF 프로그램으로 변경해야 합니까?
전반적으로, 나는 네트워크를 통해 프로그램의 진행 상황을 확인하는 컴퓨터에서 프로그램을 실행하는 것을 선호하므로 상태를 확인하기 위해 서버에 RDP 할 필요가 없습니다 (그러나 그렇지는 않습니다) 세상의 끝이 되십시오).
전반적으로, 나는 다음과 같은 창을보고 싶다고 가정합니다 : 지금까지 x의 프로세스 x, 다음 항목이 처리되고 있습니다. 항목을 표와 같이 나열하고 "업로드"또는 "응답 대기 중"이라고 말합니다. 어쩌면 내가 미쳤다면 어떻게 실패한 항목 대기열을 얻을 수 있었는지 (그러나 그것은 추가 일 것입니다).
내 마음은 계속 이벤트에 기대어 있지만 실행중인 프로그램을 구독하고 구독 취소 할 수있는 프로그램을 어떻게 실행할지 알 수 없습니다. 이것이 가능합니까?