工作流的事件接收器上下文无效

时间:2009-12-30 11:52:08

标签: sharepoint workflow

好的,另一个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活动的属性后就会发生这种情况。 ???

更新:这是给我带来麻烦的工作流程部分的图像: alt text

它越来越像是与相关令牌相关的某种设计师错误。如果我在createTask上创建一个新的任务令牌,然后将其分配给更新任务,oncreated和onchange任务,但不是CompleteTask它将正常工作,直到完成任务(如预期的那样),但如果我也将新令牌设置为完成任务它将在onChangeTask上失败。 如果我删除了completeTask,它将在onChangeTask上失败。 WTF?

1 个答案:

答案 0 :(得分:2)

此处可能存在相关令牌的问题。您使用的是不同于整个工作流程的相关令牌吗?

编辑:另一个问题 - 您是否在 代码中设置了任务的TaskID属性? 在我的自定义活动中,我总是将TaskID活动的CreateTask属性绑定到本地字段icTaskID。然后,我将一个en事件处理程序添加到CreateTask activitie的methodInvoking事件中,并在该事件内执行以下操作

Me.icVisaTaskID = Guid.NewGuid