我有一個奇怪的。我試圖使用以下方式分配工作流任務:SPUser未標記爲可序列化
private void createBookingTask_MethodInvoking(object sender, EventArgs e)
{
createBookingTask_TaskId = Guid.NewGuid();
createBookingTask_TaskProperties.Title = "New HFSC Booking";
createBookingTask_TaskProperties.AssignedTo = @"NET\352488"
createBookingTask_TaskProperties.DueDate = DateTime.Now.AddDays(7);
createBookingTask_TaskProperties.TaskType = 1;
}
OnTaskChanged活動的事件處理程序不包含任何代碼。 Visual Studio調試器被附加,並沒有得到一個異常。在此任務需要很長時間之前提交InfoPath表單才能導致此工作流程錯誤。上面的代碼用於工作流程的第二個任務。第一項任務很有魅力。這第二個工程提供了我不包括OnTaskChanged活動。如果此活動被禁用,工作流程將運行並愉快地完成。兩個任務的OnTaskChanged事件處理程序都不包含代碼。如果第二個任務OnTaskChanged活動不是那麼禁用我收到一個工作流錯誤,並在12 /記錄以下條目:
System.Workflow.Runtime.Hosting.PersistenceException: 類型「Microsoft.SharePoint.SPUser」 in Assembly'Microsoft.SharePoint, Version = 12.0.0.0,Culture = neutral, PublicKeyToken = 71e9bce111e9429c'is 未標記爲可序列化。 ---> System.Runtime.Serialization.SerializationException: 類型 'Microsoft.SharePoint.SPUser' 在 大會 'Microsoft.SharePoint程序, 版本= 12.0.0.0,文化=中性 公鑰= 71e9bce111e9429c' 是 未標作爲可序列化。
第二項任務的活動設置與第一項任務完全相同。 CreateTask - > OnTaskChanged - > CompleteTask。這只是OnTaskChanged似乎打破了工作流程,但只是爲了這個第二個任務,以同樣的方式設置。
您有任何其他事件或類似的定義?特別是在某些種類的序列化中流血的事件尤其臭名昭着。 –
你有堆棧跟蹤嗎?你在哪裏使用SPUser類?還有SPUserInfo,這是不可序列化:(所以當我有問題序列化SPUserInfo我創建SPUserInfoSerializable與我自己的領域。Eh。 –