using System.Threading.Tasks; [...] try { Task executeTask = STask.Factory.StartNew(() => DoSomething()); //Wait for 5 minutes int index = System.Threading.Tasks.Task.WaitAny(new[] { executeTask }, TimeSpan.FromSeconds(300)); if (index == -1) { //Task execution Time Out } else { //Task executed in-time } } catch (AggregateException aex) { foreach (Exception ex in aex.InnerExceptions) LogError(ex, ex.Message); } catch (Exception ex) { LogError(ex, "Error"); }
giovedì 20 dicembre 2012
Controllo del timeout su un Task
Ci sono molti modi per verificare se l'esecuzione di un task si conclude entro un periodo di timeout.
Questo è il più semplice ma non per questo meno efficace:
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento