1

私はここに見られるようにロジックを持つレガシーコードを持っています:

using (SqlDataReader drColor = ColorDal.GetColors())
{
   if (drColor.HasRows)
   {
      string colorCacheKey = string.Empty;
      //_log.Debug("Total Color Count loaded from database: " + dsColor.Tables.Count.ToString());

      // Retrieve each colorfamily present in the dataset.
      while (drColor.Read())
      {
         ......
      }
   }

   drColor.Close(); // This is line # in the exception.
}

ASP.NET MVC アプリで断続的に次の例外が発生します。

[InvalidOperationException: 内部接続の致命的なエラー]
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +6355814
System.Data.SqlClient.SqlDataReader.CloseInternal(Boolean closeReader) + 308
System.Data.SqlClient.SqlDataReader.Close() +293

SqlDataReader中を閉めているusing{}のが原因でしょうか?

ありがとう。

4

1 に答える 1