好的,另一个Sharepoint奇怪的错误。在我的工作流程中,我收到此错误:
System.InvalidOperationException: The event receiver context for Workflow is invalid.
at Microsoft.SharePoint.SPEventReceiverDefinition.ValidContext() at
icrosoft.SharePoint.SPEventReceiverDefinition.ValidReceiverFields() at Microsoft.SharePoint.SPEventReceiverDefinition.GetSqlCommandToAddEventReceivers(IList`1 erds) at Microsoft.SharePoint.Workflow.SPWinOESubscriptionService.CommitNewSubscriptions(Transaction txn, IList`1 erds)
这是我等待onTaskChange事件的时候。在互联网上的每个地方人们都会说,当相关令牌或taskid没有正确设置时会发生这种情况,但是我已经三次检查,甚至从头开始重建但是同样的错误。
奇怪的是,如果我在logtoHistory活动之前移动整个事物而不是之后它就会有所帮助。我的意思是,这对我没有任何意义。
然而,在这种情况下,没有logtohistory事件,我做的任何事都没有让我解决问题。
更新:我发现只要我绑定onTaskChange活动的属性后就会发生这种情况。 ???
它越来越像是与相关令牌相关的某种设计师错误。如果我在createTask上创建一个新的任务令牌,然后将其分配给更新任务,oncreated和onchange任务,但不是CompleteTask它将正常工作,直到完成任务(如预期的那样),但如果我也将新令牌设置为完成任务它将在onChangeTask上失败。 如果我删除了completeTask,它将在onChangeTask上失败。 WTF?
答案 0 :(得分:2)
此处可能存在相关令牌的问题。您使用的是不同于整个工作流程的相关令牌吗?
编辑:另一个问题 - 您是否在 代码中设置了任务的TaskID属性?
在我的自定义活动中,我总是将TaskID
活动的CreateTask
属性绑定到本地字段icTaskID。然后,我将一个en事件处理程序添加到CreateTask activitie的methodInvoking事件中,并在该事件内执行以下操作
Me.icVisaTaskID = Guid.NewGuid