Thursday, April 24, 2008

Event "<eventname>" on interface type "interfacename" for instance id "<guid>" cannot be delivered (StateWorkflow)

Exception of type 'System.Workflow.Activities.EventDeliveryFailedException' occurred in System.Workflow.Activities.dll.Additional information: Event "<eventname>" on interface type "interfacename" for instance id "<guid>" cannot be delivered.

Het is niet echt voor de hand liggend hoe je deze foutmelding moet oplossen maar toch is de oplossing eenvoudig:
  1. Kijk naar de InnerException. Meer dan logisch maar wordt te vaak vergeten;
  2. Zorg dat jouw afgeleide EventArgs klasse gemarkeerd is als "Serializable";
  3. Zorg dat alle klassen die gebruikt worden in jouw EventArgs-klasse "Serializable" zijn;
  4. Zet in de constructor van jouw EventArgs-klasse de eigenschap "WaitForIdle" op "true";
  5. Werkt dit allemaal niet dat zit er een fout in je Statemachine Workflowontwerp, bestudeer je workflow extra goed in de "desginer"; Om achter het probleem te komen kun je. Eventueel kun je de instantie van de "StateMachineWorkflowInstance" klasse besturderen kijk dan met name naar de ""CurrentState" en de "PossibleStateTransitions"-eigenschap.

Succes!

No comments: