internal static bool FiltraEccezioniQuery(Exception ex) { string mess, tipo; bool esito; mess = ex.Message; tipo = ex.GetType().ToString(); esito = false; if (esito == false && mess.Contains("timeout") && mess.Contains("query")) { esito = true; } if (esito == false && mess.Contains(".net") && mess.Contains("framework") && mess.Contains("data") && mess.Contains("provider")) { esito = true; //Sub:ThreadStart_Context->thrCicloSincronizzaOraConServer->ExecQuery | - Query:<SELECT excOra FROM excDispositivi WHERE idRnd='OV359' --***Sub: thrCicloSincronizzaOraConServer>, ErrDescr:<Errore .Net Framework Data Provider 30 interno.> , ErrNum:<5> } if (esito == false && mess.Contains("provider") && mess.Contains("tcp")) { esito = true; } if (esito == false && mess.Contains("Errore") && mess.Contains("collegamento") && mess.Contains("durante") && mess.Contains("comunicazione")) { esito = true; //Sub:ThreadStart_Context->thrCicloExchangeComandeEliminaTavoliChiusi->ExecQuery | - Query:<SELECT idRiga FROM excComande --***Sub: thrCicloExchangeComandeEliminaTavoliChiusi>, ErrDescr:<Errore di collegamento durante la comunicazione. Provider TCP: Il nome di rete specificato non è più disponibile.> , ErrNum:<5> } if (esito == false && mess.Contains("communication") && mess.Contains("link") && mess.Contains("failure")) { esito = true; } if (esito == false && mess.Contains("Impossibile creare una nuova connessione perché è attivata la modalità di transazione manuale o distribuita")) { esito = true; //<SELECT * FROM ExcCtrl WHERE nome='EventoInCorso'><Impossibile creare una nuova connessione perché è attivata la modalità di transazione manuale o distribuita.> lo ha generato poichè durante il runtime mi sono collegato ad un'altra rete } if (esito == false && mess.Contains("Riferimento a un oggetto non impostato su un'istanza di oggetto")) { esito = true; //ErrDescr:<Riferimento a un oggetto non impostato su un'istanza di oggetto.> , ErrNum:<91> } if (esito == false && mess.Contains("Executereader richiede una oggetto connection aperto e disponibile. lo stato attuale della connessione è connessione in corso")) { esito = true; //Sub:RunInternal->thrCicloSincronizzaOraConServer->ExecQuery | - Query:<SELECT excOra FROM excDispositivi WHERE idRnd='6A>Õ0' --***Sub: thrCicloSincronizzaOraConServer>, ErrDescr:<ExecuteReader richiede una oggetto Connection aperto e disponibile. Lo stato attuale della connessione è connessione in corso.> , ErrNum:<5> } if (esito == false && mess.Contains("Executereader richiede una oggetto connection aperto e disponibile. lo stato attuale della connessione è chiuso")) { esito = true; } if (esito == false && mess.Contains("La transazione non è associata alla connessione corrente oppure è stata completata")) { esito = true; //Sub:ThreadStart_Context->thrCicloExchangeComandeRicezione->ExecQuery | - Query:<SELECT idRiga FROM excComande --***Sub: thrCicloExchangeComandeRicezione>, ErrDescr:<La transazione non è associata alla connessione corrente oppure è stata completata.> , ErrNum:<5> } if (esito == false && Thr.FiltraEccezioniThreadNonCiclanti(ex) == true) { esito = true; } return(esito); }