Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 9355|Svar: 5

[Källa] [Verklig strid]. NET/C# sätter en timeout-tid för en metod

[Kopiera länk]
Publicerad på 2022-05-04 18:59:51 | | | |
Krav: En NET/C#-metod måste använda System.Diagnostics.Process för att anropa andra programoperationer, om det är ett tredjepartsprogramStändig brist på svar kan leda till metoder som alltid väntarEftersom ett tredjepartsprogram kan kräva att du anger ett kommando, svarar metoden inte oavsett hur länge den väntar, vilket gör att programmet inte kan fortsätta köra normalt.

När det gäller att sätta en timeout-tid för en metod bör du tänka på några saker:

  • Metoden har gått ut på tiden, men den kan fortfarande tillämpas
  • Om timeouten fortsätter, fylls tråden upp? Fullt minne? Full CPU?
  • Metoden gick i tidsgräns, hur man elegant avslutar utförandet av metoden


Jag såg lite kod på internet, till exempel om Task timeout, även om effekten uppnåddes, menUppgiften kommer att fortsätta att utföras, vilket kan förbruka resurser hela tiden och orsaka att programmet kraschar.

Koden är följande:



Genom att granska ämnet anger denna artikel tidsgränsen för metodenRiktat och inte lämpligt för alla metoder, bara för att ge en idé, vänligen anpassa den efter din faktiska situation.

Vår metod anropar System.Diagnostics.Process för att starta ett tredjepartsprogram, och när metoden går ut vill vi avsluta processen som avslutar tredjepartsprogrammet! Koden är följande:


(Slut)





Föregående:[Verklig strid]. NET/C# anropar 7z-dekompression via kommandoraden
Nästa:Nginx använder HTTPS för att konfigurera SSL-certifikat
Publicerad på 2022-05-04 23:10:31 |
Lär dig att lära dig...
Publicerad på 2022-10-10 13:12:08 |
Lär dig att lära dig...
Publicerad på 2022-10-10 13:12:50 |
Lär dig det
Publicerad på 2022-10-10 13:13:27 |
Låt oss titta på lösningen för den stora killen hee hee hee
 Hyresvärd| Publicerad på 2022-10-10 17:22:12 |
Task.WaitAsync() API i .NET 6

I .NET 6 har en ny metod WaitAsync lagts till, som används för att vänta asynkront på att en uppgift ska slutföras, och när man väntar asynkront kan man ange en Timeout-tid eller en avbokningstoken CancellationToken, i den tidigare versionen fanns det bara en synkron Wait som väntade på att uppgiften skulle slutföras, och stödde inte bättre tidsavslutningar eller avbokningar av uppgifter Tillägg som TimeoutAfter kan ersätta dessa tillägg med WaitAsync

https://andrewlock.net/a-deep-di ... nc-api-in-dotnet-6/
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com