ASP.NET DefaultBodyModelValidator 给出可枚举的异常



我们使用 ASP.NET webapi2,并在模型中实现了很多jsonconverters。

我们很少低于异常,大约每月一次。 我们不在模型上使用任何验证属性。 多次查看代码后不确定是什么原因造成的。

以前有没有人遇到过类似的例外,任何线索。

集合已修改;枚举操作可能无法执行。

at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource 资源)在 System.Collections.Generic.Dictionary2.Enumerator.MoveNext() at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateElements(IEnumerable model, ValidationContext validationContext) at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren(ModelMetadata metadata, ValidationContext validationContext, Object container, IEnumerable1 个验证器) at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateProperties(ModelMetadata 元数据,验证上下文验证上下文)在 System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren(ModelMetadata 元数据, 验证上下文验证上下文, 对象容器, IEnumerable1 validators) at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateProperties(ModelMetadata metadata, ValidationContext validationContext) at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren(ModelMetadata metadata, ValidationContext validationContext, Object container, IEnumerable1 个验证器) at System.Web.Http.ModelBinding.FormatterParameterBinding.d__0.移动下一个() --- 从引发异常的先前位置的堆栈跟踪结束 --- System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task 任务)在 System.Web.Http.Controllers.HttpActionBinding.d__0.移动下一个() --- 从引发异常的先前位置的堆栈跟踪结束 --- System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task 任务)在 System.Web.Http.Controllers.ActionFilterResult.d__2.移动下一个() --- 从引发异常的先前位置的堆栈跟踪结束 --- System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task 任务)在 System.Web.Http.Controllers.ExceptionFilterResult.d__0.移动下一个()

是的,该错误通常意味着您有一个内容列表,相当于以下内容:

A
B
C

某些内容正在以导致列表被修改的方式将某些内容插入到列表中,如下所示:

A
B
D
C

例如。 枚举引发异常,因为它识别出列表已修改;这通常发生在 foreach 循环中。 有关更多信息,请参阅此帖子:集合已修改;枚举操作可能不会在 ArrayList 中执行。 使用 for 是一种绕过它的方法。

是否自定义了模型绑定策略的任何部分?

我已经禁用了模型绑定模块。因为我们不需要它。以避免此异常。

相关内容

  • 没有找到相关文章

最新更新