Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 9355|Svare: 5

[Kilde] [Faktisk kamp]. NET/C# setter en tidsavbruddstid for en metode

[Kopier lenke]
Publisert på 04.05.2022 18:59:51 | | | |
Krav: En NET/C#-metode må bruke System.Diagnostics.Process for å kalle andre programoperasjoner, hvis det er et tredjepartsprogramKonstant mangel på respons kan føre til metoder som alltid venterFordi et tredjepartsprogram kan kreve at du skriver inn en kommando, vil metoden ikke svare uansett hvor lenge den venter, noe som resulterer i at programmet ikke kan fortsette å kjøre normalt.

Når det gjelder å sette en timeout-tid for en metode, bør du vurdere noen ting:

  • Metoden har gått ut på tid, men den kan fortsatt håndheves
  • Hvis timeouten fortsetter, vil det fylle tråden? Full hukommelse? Full CPU?
  • Metoden timeoutet, hvordan man elegant avslutter gjennomføringen av metoden


Jeg så noe kode på Internett, for eksempel om timeout for oppgaver, selv om effekten ble oppnådd, menOppgaven vil fortsette å bli utført, som kan bruke ressurser hele tiden, noe som får programmet til å krasje.

Koden er som følger:



Ved å gjennomgå temaet fastsetter denne artikkelen timeout-tiden for metodenMålrettet og ikke egnet for alle metoder, bare for å gi en idé, vennligst modifiser det etter din faktiske situasjon.

Metoden vår kaller System.Diagnostics.Process for å starte et tredjepartsprogram, og når metoden går ut på tid, vil vi avslutte prosessen som avslutter tredjepartsprogrammet! Koden er som følger:


(Slutt)





Foregående:[Faktisk kamp]. NET/C# kaller 7z-dekomprimering via kommandolinjen
Neste:Nginx bruker HTTPS for å konfigurere SSL-sertifikater
Publisert på 04.05.2022 23:10:31 |
Lær å lære...
Publisert på 10.10.2022 13:12:08 |
Lær å lære...
Publisert på 10.10.2022 13:12:50 |
Lær det
Publisert på 10.10.2022 13:13:27 |
La oss se på løsningen til den store fyren hee hee
 Vert| Publisert på 10.10.2022 17:22:12 |
Task.WaitAsync() API i .NET 6

I .NET 6 har en ny WaitAsync-metode blitt lagt til, som brukes til å vente asynkront på at en oppgave skal fullføres, og når du venter asynkront, kan du spesifisere en Timeout-tid eller en kanselleringstoken CancellationToken. I forrige versjon fantes det bare en synkron Wait som ventet på at oppgaven skulle fullføres, og den støttet ikke bedre timeouts eller kanselleringer av oppgaver Utvidelser som TimeoutAfter kan erstatte disse utvidelsene med WaitAsync

https://andrewlock.net/a-deep-di ... nc-api-in-dotnet-6/
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com