Collections “掷物”;收集被修改;枚举操作不能执行";错误

Collections “掷物”;收集被修改;枚举操作不能执行";错误,collections,ninject,enumeration,was,Collections,Ninject,Enumeration,Was,我在web项目中使用以下2个Ninject程序集 Ninject.dll – Version 2.2.0.0 Ninject.Web.dll – Version 2.2.0.4 我已经注意到,当我在服务器上执行负载测试时,我的数据库中出现了指向Ninject的异常 消息:集合已修改;枚举操作可能无法执行 处决堆栈跟踪:在 System.ThrowHelper.ThrowInvalidOperationException(例外资源 资源)在 System.Collections.Generic.

我在web项目中使用以下2个Ninject程序集

Ninject.dll – Version 2.2.0.0
Ninject.Web.dll – Version 2.2.0.4
我已经注意到,当我在服务器上执行负载测试时,我的数据库中出现了指向Ninject的异常

消息:集合已修改;枚举操作可能无法执行 处决堆栈跟踪:在 System.ThrowHelper.ThrowInvalidOperationException(例外资源 资源)在 System.Collections.Generic.List
1.Enumerator.MoveNextRare()位于
System.Collections.Generic.List
1.Enumerator.MoveNext()位于 System.Linq.Enumerable.WhereSelectListIterator
2.MoveNext()位于
Ninject.Infrastructure.Language.ExtensionsforIEnumerableSoft.Map[T](IEnumerable
1 系列,动作“1”中的动作) c:\Projects\Ninject\Maintenance2.2\Ninject\src\Ninject\Infrastructure\Language\extensions for IEnumerableSoft.cs:line 22时 Ninject.OnePerRequestModule.DeactivateInstancesForRecurrentHttPrequest() 在里面 c:\Projects\Ninject\Maintenance2.2\Ninject\src\Ninject\OnePerRequestModule.cs:line 63在Ninject.OnePerRequestModule.b___0(对象o,事件参数 e) 在 c:\Projects\Ninject\Maintenance2.2\Ninject\src\Ninject\OnePerRequestModule.cs:line 36在 System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤, 布尔值(同步完成(&C))

我确实在2011年5月11日的Remo Gloor上找到了这个链接,上面说有一个新的2.4版本,其中提到问题将被修复为2.4版本。我不确定这个版本是否发布/可用,因为我找不到它。

有人知道解决这个问题的方法吗?或者知道在哪里可以找到2.4版本


这就是我使用Ninject的2.2.0.0版完成映射的方式

Bind<IMyEntities>().To<MyEntities>().InRequestScope().WithConstructorArgument("connectionString", ConfigurationManager.ConnectionStrings["MyEntities"].ConnectionString);  
Bind().To().InRequestScope().WithConstructorArgument(“connectionString”,ConfigurationManager.connectionString[“MyEntities”].connectionString);
使用3.0,我将其更改为使用

Bind<IMyEntities>().ToConstructor(x => new MyEntities()); 
Bind().ToConstructor(x=>newmyenties());

Bind().ToConstructor(x=>newmyenties(ConfigurationManager.ConnectionStrings[“myenties”].ConnectionString));

Bind().ToConstructor(x=>newmyentities(newentityconnection(ConfigurationManager.ConnectionStrings[“MyEntities”].ConnectionString));
在尝试了上述三种不同的方法之后,我仍然得到了错误。每次以某种方式调用第三个构造函数时。
我不知道还能尝试什么。我投入了大量时间尝试不同的事情,但仍然没有得出结论/解决方案。
如果我无法以某种方式找到/解决此问题,我将不得不删除所有Ninjet引用,并选择其他DI

2.4已经变成了3.0,因为一些小的接口不兼容。请参见

谢谢您提供的信息。Ninject 3.0.0-rc3是预发布的糖果吗。如果是这样的话,你知道它什么时候发布吗?是的,但是到现在为止,它将在几天内与即将发布的版本100%兼容。好的,谢谢。在我更新web项目以使用3.0版本后,出现了一个错误“找不到类型或命名空间名称'NinjectHttpApplication'。你能帮我找到3.0版本的文档以及2.2.0.0和3.0版本之间的变化吗?我能够解决以前的错误,但现在我得到了这个错误:Ninject.Syntax.ibindingwhennamedWithoronSyntax不包含“InRequestScope”的定义,并且没有接受第一个参数的扩展方法“InRequestScope”使用Ninject.Web.Common添加类型;
Bind<IMyEntities>().ToConstructor(x => new MyEntities(ConfigurationManager.ConnectionStrings["MyEntities"].ConnectionString)); 
Bind<IMyEntities>().ToConstructor(x => new MyEntities(new EntityConnection (ConfigurationManager.ConnectionStrings["MyEntities"].ConnectionString)));