• DataTable 内部索引已损坏:"4"


    asp.net 2.0的问题确实还真不少,程序在部署状态下的运行情况还真的不是很乐观,问题一个接一个的出现。也不知道是不是目前基于asp.net 2.0的程序是不是还不多的原因(如果有的话可能大部分是从原来的1.1升级上来的),这段时间遇到的问题大部分都无法从google上得到直接的解决办法。不过通过分析总能得到一个理想的方案。不过下面的这个问题不知道能不能被定性为.NET 2.0的一个BUG。异常描述信息是这样的:

    异常信息:
       异常类型: System.InvalidOperationException
       异常消息: DataTable 内部索引已损坏:“4”。

    堆栈跟踪:    在 System.Data.RBTree`1.GetNewNode(K key)
      在 System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Int32 position, Boolean fireEvent, Exception& deferredException)
      在 System.Data.DataTable.InsertRow(DataRow row, Int32 proposedID, Int32 pos, Boolean fireEvent)
      在 System.Data.DataRowCollection.Add(DataRow row)
      在 SoF.DaoServices.Products.ProductDataObject..ctor() 位置 E:\Projects\Gk-Platform\Code\SoF.DaoServices\Products\ProductDataObject.cs:行号 290
      在 CreateImplementation(Object[] ) ...

    一看问题就出现在DataTable上,很多人都不推荐使用DataTable等ADO.NET数据对象的,而是使用更加OO的数据类和数据集合。所以它们肯定是不会出现如上的错误的。但毕竟是使用.NET,不使用ADO.NET数据对象似乎有点说不过去。所以为了更好的利用自定义数据类和ADO.NET数据对象的各自优点,便于其相互转换。我使用了一种折中的设计方法,将它们紧密的关联在一起。

    什么时候会出现这个异常?在开发阶段从来就没有出现过这个异常,程序部署后的一段时间内也不会出现。异常出现的前一段时间,整个站点还能正常访问,过一段时间就都不能访问了。关掉w3wp进程,重启站点,问题暂时解决,但是一段时间又复发了。前几天有试着重装.NET Framework后,问题不再出现了,还以为问题就此结束了,没想到.......

    根据以上的信息,在网上搜得Exception: DataTable internal index is corrupted: '5'. on .,似乎这是一个很相似的异常提示,而这个异常是一个已提交的BUG(Funny one, DataTable internal index is corrupted),看似这也是一样同样的BUG。

  • 相关阅读:
    saltstack学习
    linux命令学习(2):wc 命令
    linux命令学习(1):grep 命令
    Docker Compose—简化复杂容器应用的利器
    Docker-compose命令详解
    Python json数据写入csv json excel文件
    Centos 不重启 修改ulimit参数
    pip包管理工具 基本使用
    python 使用xpath解析含有命名空间(xmlns)的xml
    pyqt5 + pyinstaller 制作爬虫小程序
  • 原文地址:https://www.cnblogs.com/hjf1223/p/531416.html
Copyright © 2020-2023  润新知