Monday, January 19, 2009

Workflow Foundation - Message not delivered

When you write a ExternalDataExchange service in WF you

* decorate an interface with the ExternalDataExchange attribute
* add an instance of the ExternalDataExchange service to the WorkflowRuntime
* add an instance of the implementation of your interface to the ExternalDataExchange service (not the WorklowRuntime)

In your interface you probably have some methods and some events. Events that should communicate with WF must have EventArgs that inherits from ExternalDataExchangeEventArgs.

You will get InnerException of "QueueNotFound" exception if
* events that is not part of communication with WF have EventArgs inheriting from ExternalDataExchangeEventArgs
* no workflow subscribing to the event

No comments: