The Problem SolverWIndows Workflow Foundation
HomeShow ChangesEditPrintRecent ChangesSubscriptionsLost and FoundFind ReferencesRename



19-10-2006 11:59:4719-10-2006 11:53:5719-10-2006 11:52:3219-10-2006 11:52:0719-10-2006 11:51:41

List all versions

Generating Communication Activities

The workflow communication activity generator command-line utility, wca.exe, is used to generate strictly bound communications activities from a compiled ExternalDataExchange interface. Whereas the HandleExternalEventActivity and CallExternalMethodActivity activities can both be used directly to handle generic communications in a workflow, the ExternalDataExchange interface strictly bound derived activities provide a better designer experience. These activities improve performance by removing the use of reflection and easing customization for frequently used ExternalDataExchange interfaces.

For each operation on the ExternalDataExchange interfaces in the input assembly, wca.exe generates code for the corresponding activity. Events on the interface become derivatives of HandleExternalEventActivity, and methods become derivatives of CallExternalMethodActivity.

The wca.exe tool provides the command-line parameters /collapseArgs and /includeSender to determine how the HandleExternalEventActivity subclass properties appear. The /collapseArgs parameter causes a single E property of the EventArgs type to be generated instead of the default, which generates one property on the activity for each public property and field of the EventArgs. The /includeSender parameter includes a Sender property on the activity of type object, which is populated by the sender parameter of the event handler.

The output files of the wca.exe tool can be compiled, without editing, to create strictly bound activities that are ready to use. The output files can be set to either the C# or the Visual Basic language by the /language command-line parameter. For a full list of available options, run wca.exe with the /? parameter, for example C:\wca.exe /?.

Wiki Usage

This wiki site is supposed to be a shared resource. As a shared resource everyone is encouraged to add new content or modify existing content!

Enjoy the WF wiki.

Recent Topics