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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述