【发布时间】:2009-07-24 12:36:10
【问题描述】:
我有一个工作流应用程序,当我尝试使用 ExternalDataExchangeService 调用事件时抛出错误。
在状态持久性存储中找不到 ID 为“866568ab-ca1b-4404-a2f1-2c8704539ef4”的工作流。
无法传递接口类型“RecipeChangeService.IRecipeChangeService”上的事件“QAEngOrTLReject”,例如 ID“866568ab-ca1b-4404-a2f1-2c8704539ef4”。
这是我的实现代码 - 请帮助我卡住:(
下面是接口和数据交换事件args-
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);
谢谢。
【问题讨论】:
标签: workflow workflow-foundation