Using the HandleExternalEventActivity Activity
The HandleExternalEventActivity activity is used in conjunction with the CallExternalMethodActivity activity for input and output communications with a local service. You can use these activities directly for generic communications. Or, you can subclass the HandleExternalEventActivity and CallExternalMethodActivity classes to create activities that are strictly bound to specific events and methods on an interface that is attributed with the ExternalDataExchangeAttribute attribute.
The base HandleExternalEventActivity class blocks the workflow until the event specified by the InterfaceType and EventName properties is raised by the corresponding local service registered with the WorkflowRuntime. After the event is raised, or if it was raised before the activity started executing, the inbound data is assigned to bound locations as defined in the ParameterBindings collection.