1

我正在尝试使用 Visual Studio 2012 在 SharePoint 2013 上实现一些工作流以用于学习目的。我现在正在处理的工作流程非常简单,它应该将一个列表项复制到另一个列表,但是在获取另一个 ListId 时出现异常。

所以事情是这样的,

  • 首先,我使用GetCurrentListId活动获取当前列表 guid ,并将其保存到 System.Guid 类型的变量中。
  • 之后,我使用GetCurrentItemGuid活动获取当前项目 guid ,并将其保存到另一个 System.Guid 类型的变量
  • 最后,我使用了CopyItem Activity,这个 Activity 需要三个参数:ListIdItemGuidToListId。由于我没有找到任何获得 ListId 的活动,因此我在ToListId组合框中选择了我想要的列表,并将其写入表达式编辑器:

    System.Guid.Parse("{$ListId:List2;}")
    

很简单,对吧?但是当我运行工作流时,我得到了这个异常:

Dispatcher 遇到意外异常:System.Runtime.CallbackException:对 WorkflowInstance 'b1eb965e-d6e4-47d3-9170-ae2677897947' 上的 OnRequestAbort 的调用引发了异常。这被认为是致命的。有关详细信息,请参阅内部异常。---> System.AggregateException:如果通知持久空闲,则应进行处理。---> System.AggregateException:发生一个或多个错误。---> System.FormatException:索引(从零开始)必须大于或等于零且小于参数列表的大小。

我不知道它为什么会抛出该异常,并且我还没有找到任何其他方法来获取不是工作流上下文的 CurrentList 的列表的 GUID。

请有点帮助....

4

1 回答 1

1

来自:Shawn Baerwald ( http://answers.flyppdevportal.com/categories/azure/workflow.aspx?ID=d9b2e284-13e2-431b-8299-b3b4510942ce )

Fix/HACK 涉及选择列表之一,单击省略号 (...) 并在生成的编辑框中替换:

System.Guid.Parse("{$ListId:Lists/Tasks;}")

使用列表 GUID:

System.Guid.Parse("{4CGG7172-6EB0-4414-82E6-92BBE8A5E64A}")
于 2013-06-28T10:21:47.323 回答