これは、いくつかのデータをいくつかのテーブルに保存する私の既存のコードです
using (SqlConnection conn = new SqlConnection("myConnString"))
{
DoWork1(conn);
DoWork2(conc);
DoWork3(conn);
}
コードを高速化するために、.net TPLサポートを取得しようとし、以下のようにコードを再ハングアップしました
using (SqlConnection conn = new SqlConnection("myConnString"))
{
ParallelOptions pw = new ParallelOptions();
pw.MaxDegreeOfParallelism = Environment.ProcessorCount;
Parallel.Invoke(pw,()=> DoWork1(conn),()=> DoWork2(conc),()=> DoWork3(conn));
}
しかし、これにより、データアクセス層のExecuteNonQuery()メソッドから内部接続の致命的なエラー例外がスローされます。並列アプローチは間違っていますか?