Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 9355|Risposta: 5

[Fonte] [Combattimento vero e proprio]. NET/C# stabilisce un tempo di timeout per un metodo

[Copiato link]
Pubblicato su 04/05/2022 18:59:51 | | | |
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)





Precedente:[Combattimento vero e proprio]. NET/C# chiama la decompressione 7z tramite la riga di comando
Prossimo:Nginx utilizza HTTPS per configurare i certificati SSL
Pubblicato su 04/05/2022 23:10:31 |
Impara a imparare...
Pubblicato su 10/10/2022 13:12:08 |
Impara a imparare...
Pubblicato su 10/10/2022 13:12:50 |
Imparalo
Pubblicato su 10/10/2022 13:13:27 |
Diamo un'occhiata alla soluzione del tipo grande hee hee
 Padrone di casa| Pubblicato su 10/10/2022 17:22:12 |
API Task.WaitAsync() in .NET 6

In .NET 6 è stato aggiunto un nuovo metodo WaitAsync, usato per aspettare asincronamente il completamento di un compito, e quando si aspetta asincronamente, si può specificare un timeout o un token di cancellazione, CancellationToken; nella versione precedente c'era solo un Wait sincrono che attendeva il completamento del compito, e non supportava timeout o cancellazioni migliori dei compiti Estensioni come TimeoutAfter possono sostituire queste estensioni con WaitAsync

https://andrewlock.net/a-deep-di ... nc-api-in-dotnet-6/
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com