最近asp.net程序在部署后,老是出现
DataTable 内部索引已损坏:“4”
或DataTable 内部索引已损坏:“7”
然后程序就down,站点无法访问了.异常信息:
异常类型: System.Reflection.TargetInvocationException
异常消息: 调用的目标发生了异常。内部异常信息(级别 1):
异常类型: System.InvalidOperationException
异常消息: DataTable 内部索引已损坏:“7”。说细请看:http://www.cnblogs.com/hjf1223/archive/2006/10/17/531416.html
欢迎有经验的朋友一起分析一下原因.
DataTable 内部索引已损坏:“4”
或DataTable 内部索引已损坏:“7”
然后程序就down,站点无法访问了.异常信息:
异常类型: System.Reflection.TargetInvocationException
异常消息: 调用的目标发生了异常。内部异常信息(级别 1):
异常类型: System.InvalidOperationException
异常消息: DataTable 内部索引已损坏:“7”。说细请看:http://www.cnblogs.com/hjf1223/archive/2006/10/17/531416.html
欢迎有经验的朋友一起分析一下原因.
正在模拟: False 堆栈跟踪: 在 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[] )
在 IBatisNet.Common.Utilities.Objects.DelegateFactory.Create.Invoke(Object[] parameters)
在 IBatisNet.Common.Utilities.Objects.DelegateFactory.CreateInstance(Object[] parameters) 在 IBatisNet.DataMapper.MappedStatements.ResultStrategy.ResultMapStrategy.Process(RequestScope request, IDataReader reader, Object resultObject) 在 IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForList(RequestScope request, IDalSession session, Object parameterObject, Int32 skipResults, Int32 maxResults, RowDelegate rowDelegate)
在 IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForList(IDalSession session, Object parameterObject, Int32 skipResults, Int32 maxResults)
在 IBatisNet.DataMapper.SqlMapper.QueryForList(String statementName, Object parameterObject, Int32 skipResults, Int32 maxResults)
在 SoF.DaoServices.MapperAdapter.QueryForList[T](String statementName, Object parameterObject, Int32 skipResult, Int32 maxResult, String[] p_strTableNames) 位置 E:\Projects\Gk-Platform\Code\SoF.DaoServices\MapperAdapter.cs:行号 324
在 SoF.DaoServices.MapperAdapter.QueryForList[T](String statementName, Object parameterObject, String[] p_strTableNames) 位置 E:\Projects\Gk-Platform\Code\SoF.DaoServices\MapperAdapter.cs:行号 295更多详细请访问:http://www.cnblogs.com/hjf1223/archive/2006/10/17/531416.html
如果你使用了DataView,对DataTable进行查询,排序。然后再对DataTable进行修改的话,那这个问题就出现了。刚开始是从多线程的同步和异步修改入手,但是在其它情况仍然出现这样的问题。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=838204&SiteID=1&mode=1&PageID=2
已经大概找到解决办法了,不过还没有更新到程序中,下午试一下.
在DataTable的RowChanging事件下执行 this.DefaultView.Sort = "";你试下看行不行,我的没有解决!:(
http://blog.csdn.net/cui55/archive/2006/11/07/1371535.aspx