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