Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Linee guida nella scrittura di codice #13: Uso dei Time out

Pillole sulla buona scrittura del codice: uso dei time out
Pillole sulla buona scrittura del codice: uso dei time out
Link copiato negli appunti

I time out sono necessari per specificare quanto tempo un utilizzatore di un metodo può attendere per il completamento del metodo stesso prima che il ritardo venga considerata una eccezione.

Un time out può essere specificato sostanzialmente in due modi. Come parametro del metodo a cui si riferisce:

myClass.ExecuteOperation(timeout);

Come proprietà  della classe a cui appartiene il metodo:

myClass.OperationTimeOut = timeout;
myClass.ExecuteOperation();

La prima modalità  è preferibile in quanto rende immediatamente evidente a quale metodo si riferisce il timeout e soprattutto obbliga a specificarlo.

Solitamente i time out in passato (ma ancora oggi) venivano specificati attraverso valori di tipo int che però avevano lo svantaggio di introdurre un'ambiguità  sull'unità  di misura utilizzata per il valore (10 minuti? 10 secondi? 10 millisecondi?). In .NET è quindi sicuramente più opportuno utilizzare al posto di un int la struttura TimeSpan che rende le cose più eleganti.

Nel caso in cui venga impostato un time out (TimeSpan) a zero, il metodo dovrebbe generare una eccezione nel caso in cui non riesca a terminare immediatamente il suo compito.

Se al contrario viene impostato come time out un TimeSpan.MaxValue allora il metodo è libero di attendere indefinitamente il termine dell'operazione.

Nel caso in cui venga raggiunto il tempo di time out, il metodo deve sollevare una eccezione e terminare anche forzatamente l'operazione avviata.

Se si desidera specificare un time out di default è opportuno creare una proprietà  statica contenente il time out di default che deve essere utilizzato dall'overload del metodo che non richiede il time out come parametro.

Ti consigliamo anche