У меня есть приложение рабочего процесса, которое выдает ошибку, когда я пытаюсь вызвать событие, используя ExternalDataExchangeService.
Рабочий процесс с идентификатором "866568ab-ca1b-4404-a2f1-2c8704539ef4" не найден в хранилище состояний.
Событие "QAEngOrTLReject" в типе интерфейса "RecipeChangeService.IRecipeChangeService", например, идентификатор экземпляра "866568ab-ca1b-4404-a2f1-2c8704539ef4" не может быть доставлено.
Вот мой код реализации для него -Пожалуйста, помогите, я застрял: (*
Ниже приведены аргументы событий интерфейса и обмена данными -
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);
Спасибо.