Krav: En NET/C#-metode skal bruge System.Diagnostics.Process til at kalde andre programoperationer, hvis det er et tredjepartsprogramKonstant mangel på respons kan føre til metoder, der altid venterFordi et tredjepartsprogram kan kræve, at du indtaster en kommando, vil metoden ikke reagere, uanset hvor længe den venter, hvilket resulterer i, at programmet ikke kan fortsætte med at køre normalt.
Når du fastsætter en timeout-tid for en metode, bør du overveje et par ting:
- Metoden er udløbet, men den kan stadig håndhæves
- Hvis timeouten fortsætter, vil det så fylde tråden op? Fuld hukommelse? Fuld CPU?
- Metoden blev timeout, hvordan man elegant afslutter udførelsen af metoden
Jeg så noget kode på internettet, for eksempel om Task timeout, selvom effekten blev opnået, menOpgaven vil fortsat blive udført, som kan forbruge ressourcer hele tiden og få programmet til at crashe.
Koden er som følger:
Ved at gennemgå emnet fastsætter denne artikel timeout-tiden for metodenMålrettet og ikke egnet til alle metoder, bare for at give en idé, så modificerer den venligst efter din faktiske situation.
Vores metode kalder System.Diagnostics.Process for at starte et tredjepartsprogram, og når metoden udløber, vil vi dræbe processen, der afslutter tredjepartsprogrammet! Koden er som følger:
(Slut)
|