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

本文关键字:内部 连接 致命错误 SqlDataReader Close InvalidOperationException | 更新日期: 2023-09-27 18:32:32

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

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 应用程序中收到以下异常:

[无效操作异常:内部连接致命错误。
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

关闭using{}内部的SqlDataReader会是造成这种情况的原因吗?

谢谢。

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

这可能会有所帮助...不确定他们对此错误的位置,但它可能会为您提供一个开始的地方:

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