InvalidOperationException:SqlDataReader.Close()处的内部连接致命错误

时间:2012-04-27 18:02:52

标签: c# sqldatareader

我有遗留代码,其逻辑如下所示:

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{}可能是原因吗?

感谢。

1 个答案:

答案 0 :(得分:0)

这可能会有所帮助......不确定他们在这个问题上的位置,但它可能会给你一个开始的地方:

http://connect.microsoft.com/VisualStudio/feedback/details/772492/internal-connection-fatal-error-system-invalidoperationexception