Il rilevamento dell'applicazione si blocca con i controlli ActiveX in .Net

StackOverflow https://stackoverflow.com/questions/59622

  •  09-06-2019
  •  | 
  •  

Domanda

Sto lavorando sugli aggiornamenti a un'applicazione di screen scraping.Stiamo utilizzando un controllo ActiveX per raschiare gli schermi da un mainframe IBM.Il programma mainframe spesso si blocca e blocca il controllo ActiveX causando il blocco della nostra applicazione.Non abbiamo accesso al mainframe o al codice sorgente ActiveX.Non scriveremo il nostro controllo active x.

Qual è il modo migliore per incapsulare un controllo ActiveX per rilevare i blocchi dell'applicazione con il controllo in modo da poter interrompere il processo e riavviare con il codice?

Devo creare 2 applicazioni separate?Uno come controller che controlla l'altro e uccide/riavvia il processo quando si blocca?

Dovrebbero trovarsi su domini app separati?È possibile che due programmi comunichino tra loro anche se si trovano su domini di app separati?

È stato utile?

Soluzione

È possibile avviare un eseguibile con System.Diagnostics.Process.Start().Ciò restituisce un oggetto Process con una proprietà Responding che puoi utilizzare per verificare periodicamente se il processo è ancora attivo.

Avrai bisogno di due applicazioni separate per farlo.E l'applicazione che stai monitorando deve avere una finestra principale perché il monitoraggio funziona controllando se l'applicazione elabora ancora i messaggi dalla coda dei messaggi della finestra principale.Questo è lo stesso modo in cui Windows sa aggiungere "Non risponde" al titolo di una finestra

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top