Ragazzi, spero che qualcuno riesca ad aiutarmi perchè non so che pesci prendere.
Ho un servizio c# .net framework 3.5 che tra le altre cose lancia una serie di ExecuteNonQuery() una dopo l'altra, perchè dopo aver fatto determinate cose, per ultimo va ad aggiornare il db.

Funziona tutto perfettamente, se non che, evidentemente quando è troppo "stressato" il db, si pianta su una delle ExecuteNonQuery(), e il servizio in poche parole si blocca!

La cosa che mi è sembrata subito strano, è che io davo per scontato che ci fosse un timeout di base per la execute, e nel caso in cui rimanesse ferma per un pò, mi entrasse nel catch per timeout appunto, ma evidentemente non è così, perchè ormai è una cosa che ho constatato già una decina di volte, e si blocca sempre nella execute.

premetto che ovviamente tutte le volte che eseguo la queri con la ExecuteNonQuery(), prima apro la connessione e subito dopo la chiudo, in maniera tale da non lasciare troppe connessioni aperte.

grazie a tutti in anticipo.

try
{
IDbCommand _Comm = myObj.getCommand(ObjInfoID, SQL, this.GetConnection());
....
....
....
....
....
Trace.WriteLine("Ho finito di aggiungere i parametri, apro la connessione.");
_Comm.Connection.Open();
Trace.WriteLine("Ho aperto la connessione, eseguo la execute.");
_Comm.ExecuteNonQuery();
_Comm.Connection.Close();
Trace.WriteLine("Ho eseguito la Execute e chiuso la connessione.");
return null;
}
catch (Exception e)
{
EventLog.WriteEntry(..........EventLogEntryType.Er ror);
return null;
}