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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值