Come già accennato da GBn, ci sono due tipi di timeout:
1) Timeout connessione:è controllato dalla stringa di connessione:
Data Source=.;Initial Catalog=TestDB;
Trusted_Connection=true;Asynchronous Processing=true
Se aggiungi un Connect Timeout=120
a questa stringa, la tua connessione proverà ad aprirsi per 120 secondi e poi si interromperà.
Data Source=.;Initial Catalog=TestDB;
Trusted_Connection=true;Asynchronous Processing=true;
Connect Timeout=120;
2) Timeout del comando:per ogni comando, puoi anche specificare un timeout:ADO.NET attenderà tale intervallo di tempo prima di annullare la query. Lo specifichi nell'oggetto SqlCommand:
using (SqlCommand RetrieveOrderCommand = new SqlCommand())
{
RetrieveOrderCommand.CommandTimeout = 150;
}