In a workflow, to call the external method, you need the following ready.
- The workflow need a interface marked with ExternalDataExchange. In the callExternalMethodActivity node, you need to configure the InterfaceType, MethodName, MethodInvoking, and what value to be used as passed-in parameter.
- In workflow host, you need to config the workflow runtime to service the ExternalService. When a workflow instance execute an callExternalMethodActivity, it will ask the workflow runtime to supply a service.
//workflow definition
[ExternalDataExchange]
public interface ICustomerService
{
void SendCustomerData(string customerName);
}
//host enviroment code
public class CustomerService : ICustomerService
{
public void SendCustomerData(string customerName)
{
Console.WriteLine(customerName);
}
}
ExternalDataExchangeService xchangeSvc = new ExternalDataExchangeService();
workflowRuntime.AddService(xchangeSvc);
CustomerService custSvc = new CustomerService();
xchangeSvc.AddService(custSvc);
No comments:
Post a Comment