Hola a todos,
Estoy teniendo problemas ahora mismo con las Bookmarks, no se cargan en el WorkflowApplication despues de haberlo cargado desde persistance, y no tengo idea de porque.
Aqui mi codigo para cargar desde persistance:
Código C#:
Ver originalActivity act = WorkflowCorrelationManager.LoadActivity(instanceGuid);
if (act == null)
{
continue;
}
WorkflowApplication wFApp = LoadWorkflowApplication(act);
WorkflowRequestExtension requestExtension = new WorkflowRequestExtension();
requestExtension.WorkflowRequestItemEvent += OnRequestItemEvent;
wFApp.Extensions.Add(requestExtension);
WorkflowTrackingParticipant trackingParticipant = new WorkflowTrackingParticipant();
wFApp.Extensions.Add(trackingParticipant);
WorkflowDebuggerExtension debuggerExtension = new WorkflowDebuggerExtension();
debuggerExtension.RegisterTrackingParticipant(trackingParticipant);
wFApp.Extensions.Add(debuggerExtension);
wFApp.Load(instanceGuid);
WfRuntimeEntries.Add(instanceGuid, new WorkflowInstanceRuntimeEntry(entity, wFApp));
WfApps.Add(instanceGuid, wFApp);
var k = wFApp.GetBookmarks();
Luego ya solo espero al evento de resume para llamar al siguiente método;
Código C#:
Ver originalinternal static void Resume(IWorkflowRequestItem irToResume, object resumingEvent)
{
// 1.) Determine Runtime Entry
WorkflowInstanceRuntimeEntry wIRE;
var isResumable = WfRuntimeEntries.TryGetValue(irToResume.GetWorkflowGuid(), out wIRE);
// 3.) Resume
if (isResumable && wIRE.WfApp != null)
{
Bookmark bokMark = new Bookmark(irToResume.GetBookmarkName());
// Calls "Resumed" Method of Suspended Activity Instance
var t = wIRE.WfApp.ResumeBookmark(bokMark, resumingEvent, new TimeSpan(1, 0, 0));
}
}
El Workflow se resume, PERO, empieza desde el principio, llega a la actividad que crea el bookmark, crea otro bookmark, y luego llama al resume y continua normalmente.
Si el Workflow no se para, el resume funciona perfectamente y continua directamente en la actividad que creó el bookmark.
Alguna idea, ayuda, discusión o algo?
Gracias!