WCF:已添加具有相同密钥的项

WCF:已添加具有相同密钥的项,wcf,linq,entity-framework-5,Wcf,Linq,Entity Framework 5,在用150个用户测试WCF服务时,我遇到了这个异常 注意:我使用MS测试项目对WCF服务进行负载测试。当为100个用户运行负载测试时,没有异常 在System.Collections.Generic.Dictionary2.Insert(TKey键、TValue值、布尔加法)在System.Linq.Dynamic.ClassFactory.GetDynamicClass(IEnumerable1属性)在System.Linq.Dynamic.DynamicExpression.CreateCl

在用150个用户测试WCF服务时,我遇到了这个异常

注意:我使用MS测试项目对WCF服务进行负载测试。当为100个用户运行负载测试时,没有异常


在System.Collections.Generic.Dictionary
2.Insert(TKey键、TValue值、布尔加法)在System.Linq.Dynamic.ClassFactory.GetDynamicClass(IEnumerable
1属性)在System.Linq.Dynamic.DynamicExpression.CreateClass(IEnumerable`1属性)在System.Linq.Dynamic.DynamicExpression位于System.Linq.Dynamic.ExpressionParser.ParseNew()的System.Linq.Dynamic.ExpressionParser.ParseIdentifier()的System.Linq.Dynamic.ExpressionParser.ParsePrimaryStart()的System.Linq.Dynamic.ExpressionParser.ParsePrimary()的System.Linq.Dynamic.ExpressionParser.ParseUnary()的System.Linq.Dynamic.ExpressionParser.ParseDiplicative()在System.Linq.Dynamic.ExpressionParser.ParseAdditional()在System.Linq.Dynamic.ExpressionParser.ParseComparison()在System.Linq.Dynamic.ExpressionParser.ParseLogicalOr()在System.Linq.Dynamic.ExpressionParser.ParseLogicalOr()上位于System.Linq.Dynamic.DynamicExpression.ParseLambda的System.Linq.Dynamic.ExpressionParser.Parse(类型resultType)处的System.Linq.Dynamic.DynamicExpression.ParseLambda(参数表达式[]参数,类型resultType,字符串表达式,对象[]值)处的System.Linq.Dynamic.DynamicExpression.ParseLambda(在System.Linq.Dynamic.DynamicQueryable.Select(IQueryable源、字符串选择器、对象[]值)的CustomEntities.Data.Repository.CustomEntitiesDataRepository.GetCustomEntityData(CriteriaDto CriteriaDto)中键入itType、Type resultType、字符串表达式、对象[]值)在d:\Projects\SRM\Services\Data\CustomEntities\CustomEntities.Data.Repository\CustomEntities DataRepository.cs中:CustomEntities.Data.Manager.CustomEntities DataManager.GetCustomEntityData(CriteriaDto CriteriaDto)的第131行在d:\Projects\SRM\Services\Data\CustomEntities\customenties.Data.Manager\CustomEntitiesDataManager.cs中:第69行

如果您查看代码,在第131行的
customentiesdatarepository.cs
中,这一行会触发问题。您返回的自定义实体在某种程度上正试图将值插入字典中ode>,但其使用的键已经存在。

如果您查看代码,在第131行的
CustomEntitiesDataRepository.cs
中,这一行触发了问题。您返回的自定义实体在某种程度上试图将值插入到
字典中,但其使用的键已经存在。

实际上,它看起来很简单ke
中存在并发问题。选择()
。请参阅


最简单的修复方法是在调用Select时在代码中加上一些锁。实际上,
.Select()
中似乎存在并发问题。请参阅


最简单的修复方法是在调用Select前后的代码中加上一些锁,但这对100个用户来说效果很好,这意味着存储库中没有问题。@Imran no-这意味着你的逻辑中有一个不经常出现的缺陷。在某个时候,你会得到一个重复的密钥。这没有得到处理。但对100个用户来说效果很好,mean存储库中没有问题。@Imran否-这意味着您的逻辑中有一个不经常出现的缺陷。在某个时候,您会得到一个重复的密钥。这没有得到处理。