Voici mon code existant qui sauvegarde des données dans plusieurs tableaux.
using (SqlConnection conn = new SqlConnection("myConnString"))
{
DoWork1(conn);
DoWork2(conc);
DoWork3(conn);
}
Afin d'accélérer mon code, j'ai essayé d'obtenir le support de .net TPL et j'ai réorganisé mon code comme suit
using (SqlConnection conn = new SqlConnection("myConnString"))
{
ParallelOptions pw = new ParallelOptions();
pw.MaxDegreeOfParallelism = Environment.ProcessorCount;
Parallel.Invoke(pw,()=> DoWork1(conn),()=> DoWork2(conc),()=> DoWork3(conn));
}
Mais je reçois une exception d'erreur fatale de connexion interne de la méthode ExecuteNonQuery() dans ma couche d'accès aux données. Mon approche parallèle est-elle mauvaise ?