2009-12-30 55 views
0

好吧,另一個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 http://i47.tinypic.com/2co0c4p.jpg

越來越多的它看起來像在與相關令牌連接某種設計缺陷的。如果我在createTask上創建了一個新的任務標記,然後將其分配給更新任務,oncreated和onchange任務,但不是CompleteTask,它將工作正常,直到完成任務(如預期的那樣),但是如果我還將新標記設置爲完整任務會在onChangeTask上失敗。 如果我刪除completeTask,它將在onChangeTask上失敗。 WTF?

回答

2

這裏可能存在相關令牌的問題。您是否使用與用於整個工作流程不同的關聯標記?

編輯:另一個問題 - 你是否設置你的代碼任務的TaskID屬性? 在我的自定義活動中,我始終將CreateTask活動的TaskID屬性綁定到本地字段icTaskID。然後,我在CreateTask活動的methodInvoking事件中添加一個en事件處理程序,並在該事件中執行以下操作:

Me.icVisaTaskID = Guid.NewGuid 
+0

我正在使用不同的令牌,該任務是特定的。 – 2009-12-30 14:37:15

+0

編輯我的答案,也許你有TaskID屬性的問題? – naivists 2009-12-30 14:57:25

+0

是的,我在createTask的調用處理程序中設置taskId。正如我在更新的問題中寫的,這發生在綁定AfterProperties之後,如果它們沒有綁定,它就可以正常工作。 – 2009-12-30 15:02:18