2012-10-04 48 views
1

这只似乎发生了一些次为什么DataSet.Clear()抛出ArgumentOutOfRangeException?

这里是堆栈跟踪:

 
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource) 
    at System.ThrowHelper.ThrowArgumentOutOfRangeException() 
    at System.Collections.Generic.List`1.get_Item(Int32 index) 
    at System.Data.DataTable.get_LiveIndexes() 
    at System.Data.DataTable.SetShadowIndexes() 
    at System.Data.DataTable.ResetInternalIndexes(DataColumn column) 
    at System.Data.DataTable.Clear(Boolean clearAll) 
    at System.Data.DataSet.Clear() 
+0

不知道这是为什么提名结束。我看到这个问题在互联网上问过,而且没有预料到的。 – lahsrah

回答

0

我发现问题是由多线程引起的。锁定DataSet锁定停止发生这种异常。

+0

[的确](http://msdn.microsoft.com/en-us/library/system.data.dataset.aspx):'这类型对于多线程读操作是安全的。您必须同步任何写入操作 –

相关问题