2
我有一個工作流應用程序,當我嘗試使用ExternalDataExchangeService調用一個事件時引發錯誤。在狀態持久性存儲中找不到id爲「xxxxx」的工作流
在狀態持久性存儲中找不到ID爲「866568ab-ca1b-4404-a2f1-2c8704539ef4」的工作流。
無法傳遞實例ID爲「866568ab-ca1b-4404-a2f1-2c8704539ef4」的接口類型爲「RecipeChangeService.IRecipeChangeService」的事件「QAEngOrTLReject」。
這裏是它在我的實現代碼 - 請幫助我堅持:(
下面是接口和數據交換事件參數 -
public class RecipeChangeService : IRecipeChangeService{
#region IRecipeChangeService Members
public event EventHandler QAEngOrTLApprove;
public event EventHandler QAEngOrTLReject;
public bool QAEngOrTLApproved(Guid instanceId, ResponseDataObject rdo) {
if (QAEngOrTLApprove != null) {
QAEngOrTLApprove(this, new XMESWFRecipeResponseDataEventArgs(rdo, instanceId));
return true;
}return false;
}
public bool QAEngOrTLRejected(Guid instanceId, ResponseDataObject rdo) {
if (QAEngOrTLReject != null) {
QAEngOrTLReject(this, new XMESWFRecipeResponseDataEventArgs(rdo,instanceId));
return true;
} return false;
}
}
[Serializable]
public class XMESWFRecipeResponseDataEventArgs : ExternalDataEventArgs {
public readonly ResponseDataObject rdo = null;
public XMESWFRecipeResponseDataEventArgs(ResponseDataObject rdo, Guid instanceId)
: base(instanceId)
{
this.rdo = rdo;
}
}
該事件引發使用 -
IRecipeChangeService s =
ExceptionServices.GetExceptionService(WorkflowExceptionType.RecipeChange)
as IRecipeChangeService;
s.QAEngOrTLApproved(new Guid(instanceId), rdo);
謝謝。
我已經聲明性地添加了持久性服務。我應該如何確定它是否正常工作。我確信工作流程在內存中並沒有完成。 – ksa 2009-07-27 05:51:25