Collections System.Activities.Statements.AddToCollection给出固定大小错误

Collections System.Activities.Statements.AddToCollection给出固定大小错误,collections,workflow-foundation-4,Collections,Workflow Foundation 4,在我的工作流程中,我调用一个服务,该服务返回一个列表。问题是,在我的工作流中,我使用AddToCollection活动向集合中添加新字符串,但当我进入该活动时,我得到了一个错误 调试和检查我访问了工作流日志,现在我看到错误是“集合大小固定”。以下是完整的日志: System.SZArrayHelper.Add[T](T值) System.Activities.Statements.AddToCollection`1.Execute(CodeActivityContext上下文) System.A

在我的工作流程中,我调用一个服务,该服务返回一个列表。问题是,在我的工作流中,我使用AddToCollection活动向集合中添加新字符串,但当我进入该活动时,我得到了一个错误

调试和检查我访问了工作流日志,现在我看到错误是“集合大小固定”。以下是完整的日志:

System.SZArrayHelper.Add[T](T值) System.Activities.Statements.AddToCollection`1.Execute(CodeActivityContext上下文) System.Activities.CodeActivity.InternalExecute(ActivityInstance实例、ActivityExecutor执行器、BookmarkManager书签管理器) System.Activities.ActivityInstance.Execute(ActivityExecutor executor,BookmarkManager BookmarkManager) System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor,BookmarkManager BookmarkManager,Location resultLocation)

我不明白的是为什么(以及这是怎么发生的)?这是虫子吗?我特别返回一个列表。。。为什么它说它是固定大小的


编辑1:有些事情真的很奇怪。。。因为我原来的工作流程很大,所以我创建了一个新的、更小的工作流程,只是为了重现这个错误。。。我不能

我猜WCF正在将列表序列化为数组,然后再通过网络发送。不知道是否有可能避免

不管怎样,检查一下

您还可以在工作流上创建新变量,并在从服务接收时为其分配列表:

listWFVariable=新列表(arrayReceivedFromWebService);

现在您可以对其进行添加操作。

我猜WCF正在将列表序列化为数组,然后再通过网络发送。不知道是否有可能避免

不管怎样,检查一下

您还可以在工作流上创建新变量,并在从服务接收时为其分配列表:

listWFVariable=新列表(arrayReceivedFromWebService);

现在您可以对其进行添加操作。

您的服务可能返回一个数组,该数组实际上是IList,但无法向其中添加项。@Jota这是正确的!在服务配置中,我将Collection设置为System.Array!但问题仍然存在……您能显示处理和返回列表的服务代码吗?您的服务可能正在返回一个数组,该数组实际上是IList,但无法向其中添加项。@这是正确的!在服务配置中,我将Collection设置为System.Array!但问题仍然存在……您能否显示处理和返回列表的服务代码?