今天遇到一个问题,客户端通过.net remoting从服务端返回一个DataTable对象时,有时会出现异常,通过日志,找到了以下两类异常信息:
1,ArgumentOutOfRangeException:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
参数名: index
Server stack trace:
at System.Collections.ArrayList.RemoveAt(Int32 index)
at System.Collections.ArrayList.Remove(Object obj)
at System.Data.DataTableCollection.BaseRemove(DataTable table)
at System.Data.DataTableCollection.Remove(DataTable table)
at System.Data.DataTable.SerializeDataTable(SerializationInfo info, StreamingContext context, Boolean isSingleTable, SerializationFormat remotingFormat)
at System.Data.DataTable.GetObjectData(SerializationInfo info, StreamingContext context)
2,NullReferenceException
System.NullReferenceException: Object reference not set to an i
1,ArgumentOutOfRangeException:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
参数名: index
Server stack trace:
at System.Collections.ArrayList.RemoveAt(Int32 index)
at System.Collections.ArrayList.Remove(Object obj)
at System.Data.DataTableCollection.BaseRemove(DataTable table)
at System.Data.DataTableCollection.Remove(DataTable table)
at System.Data.DataTable.SerializeDataTable(SerializationInfo info, StreamingContext context, Boolean isSingleTable, SerializationFormat remotingFormat)
at System.Data.DataTable.GetObjectData(SerializationInfo info, StreamingContext context)
2,NullReferenceException
System.NullReferenceException: Object reference not set to an i