Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 9355|Svar: 5

[Kilde] [Egentlig kamp]. NET/C# fastsætter en timeout-tid for en metode

[Kopier link]
Opslået på 04/05/2022 18.59.51 | | | |
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)





Tidligere:[Egentlig kamp]. NET/C# kalder 7z dekompression via kommandolinjen
Næste:Nginx bruger HTTPS til at konfigurere SSL-certifikater
Opslået på 04/05/2022 23.10.31 |
Lær at lære...
Opslået på 10/10/2022 13.12.08 |
Lær at lære...
Opslået på 10/10/2022 13.12.50 |
Lær det
Opslået på 10/10/2022 13.13.27 |
Lad os se på løsningen for den store fyr hee hee
 Udlejer| Opslået på 10/10/2022 17.22.12 |
Task.WaitAsync() API i .NET 6

I .NET 6 er en ny WaitAsync-metode blevet tilføjet, som bruges til at vente asynkront på, at en opgave bliver færdig, og når man venter asynkront, kan man angive en Timeout-tid eller en annulleringstoken CancellationToken; i den tidligere version var der kun en synkron Wait, der ventede på, at opgaven blev færdig, og understøttede ikke bedre opgave-timeouts eller annulleringer Udvidelser som TimeoutAfter kan erstatte disse udvidelser med WaitAsync

https://andrewlock.net/a-deep-di ... nc-api-in-dotnet-6/
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com