1

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

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

System.SZArrayHelper.Add[T](T value) System.Activities.Statements.AddToCollection`1.Execute(CodeActivityContext context) System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) System.Activities.ActivityInstance。执行(ActivityExecutor 执行器,BookmarkManager 书签管理器) System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor 执行器,BookmarkManager 书签管理器,位置结果位置)

我不明白为什么(以及这是如何发生的)?这是一个错误吗?我专门返回一个列表...为什么它说它是固定大小的?!?

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

4

1 回答 1

1

我的猜测是 WCF 在通过网络发送之前将您的列表序列化为数组。不知道能不能避免。

无论如何,检查这个这个

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

listWFVariable = new List<string>(arrayReceivedFromWebService);

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

于 2013-03-14T15:37:17.867 回答