【发布时间】:2018-03-10 10:55:34
【问题描述】:
我是这个领域的新手,所以不知道如何修复崩溃/异常。我见过带有类似错误消息的问题,但也有一些代码;因此,这些人清楚地知道在哪里调查。但是这里我只有一个堆栈跟踪,不知道从哪个方法开始。
Collection was modified; enumeration operation may not execute.:Source:mscorlib:StackTrace: at System.Collections.Generic.Dictionary`2+Enumerator[TKey,TValue].MoveNext () [0x00016] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Net.Http.Headers.HttpHeaders+<GetEnumerator>d__19.MoveNext () [0x000ac] in <609d052db9cf4644bbd3271148e63c5f>:0
at System.Net.Http.Headers.HttpRequestHeaders.AddHeaders (System.Net.Http.Headers.HttpRequestHeaders headers) [0x00025] in <609d052db9cf4644bbd3271148e63c5f>:0
at System.Net.Http.HttpClient.SendAsync (System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption, System.Threading.CancellationToken cancellationToken) [0x000be] in <609d052db9cf4644bbd3271148e63c5f>:0
at System.Net.Http.HttpClient.SendAsync (System.Net.Http.HttpRequestMessage request) [0x00008] in <609d052db9cf4644bbd3271148e63c5f>:0
at System.Net.Http.HttpClient.GetAsync (System.Uri requestUri) [0x0000c] in <609d052db9cf4644bbd3271148e63c5f>:0
at Tom.Arsene.Data.RestClient+<GetAsync>d__11`1[T].MoveNext () [0x00090] in <1f81a31c6d47431bab8f6adc642df7b4>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at Tom.Arsene.Data.ArseneServiceAgent+<GetArsene>d__2.MoveNext () [0x000c3] in <1f81a31c6d47431bab8f6adc642df7b4>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at Tom.Arsene.Business.ArseneService+<GetArsene>d__15.MoveNext () [0x00145] in <1f81a31c6d47431bab8f6adc642df7b4>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <1bdfc850d6954268ba9a73eeb78e5ccf>:0
at Tom.Droid.PushHandlerService+<>c__DisplayClass20_0+<<ProcessActiveSilentNotification>b__0>d.MoveNext () [0x00078] in <b12c833322824aa0abff3963b0b59352>:0
当我进行初步研究时,当我们尝试在 foreach 循环中修改正在枚举它的集合时,会导致此异常。但是在 ProcessActiveSilentNotification 中没有 foreach 循环似乎是由此产生的。
如果这听起来很烦人,我很抱歉,但请帮帮我。对您来说,这可能看起来只是另一个重复的问题,但解决方案/提示可以让我睡个好觉。谢谢
【问题讨论】:
-
HttpRequestHeaders.AddHeaders 通过 Tom.Arsene.Data.RestClient
-
感谢您的回复!您能否让我知道您是如何确定这种方法导致问题的?此外,AddHeaders 不是解决方案中的书面代码,而是在库中。所以我想我们不能在那里修复..
-
在迭代集合时,不要修改集合的索引。
标签: c# android exception xamarin stack-trace