Requisiti: Un metodo NET/C# deve utilizzare System.Diagnostics.Process per chiamare altre operazioni di programma, se un programma di terze partiLa costante mancanza di risposta può portare a metodi che sono sempre in attesaPoiché un programma di terze parti potrebbe richiedere di inserire un comando, il metodo non risponderà indipendentemente da quanto tempo aspetti, facendo sì che il programma non riesca a continuare a eseguire normalmente.
Per quanto riguarda la definizione di un tempo di timeout per un metodo, dovresti considerare alcune cose:
- Il metodo è scaduto, ma potrebbe ancora essere applicato
- Se il timeout continua, riempirà il thread? Memoria completa? CPU piena?
- Il metodo scadeva con tempisti, come concludere con grazia l'esecuzione del metodo
Ho visto un po' di codice su Internet, come riguardo al timeout del compito, anche se l'effetto è stato raggiunto, maIl compito continuerà a essere eseguito, che può consumare risorse continuamente, causando il crash del programma.
Il codice è il seguente:
Rivedendo l'argomento, questo articolo stabilisce il timeout per il metodoMirato e non adatto a tutti i metodi, solo per dare un'idea, ti preghiamo di modificarla in base alla tua situazione reale.
Il nostro metodo chiama System.Diagnostics.Process per avviare un programma di terze parti, e una volta che il metodo scade il tempo, vogliamo eliminare il processo che termina il programma di terze parti! Il codice è il seguente:
(Fine)
|