Tuesday, January 9, 2018

Invoke a code activity (Native Activity) and retrieve the results using code – Workflow Foundation 4.5


We can create code activity as a part of workflow solutions using workflow foundation 4.5. In this post I will show how we can create a native code activity and access the results in controller. Native code activity


   //The string mentioned in NativeActivity is the resut type.  

     public sealed class MySampleNativeCode : NativeActivity     {

         // Define an activity input argument of type string

         public InArgument Name { get; set; }

         protected override void Execute(NativeActivityContext context)


             var name = context.GetValue(Name);

             //Here we set the string value to the Result property in NativeCode

             context.SetValue(base.Result, "Hello from Native Code Activity " + name);


Invoke the code activity The code activity is invoked in web api controller.
 // GET: api/CustomerRegistration

         public string Get()


             //Create a instance of the native code

             Activity wf = new MySampleNativeCode();

             //Define the input argumentes

             Dictionary arguments = new Dictionary();

             arguments.Add("Name", "Suhail");

             //Invoke the workflow

             IDictionary outputs = WorkflowInvoker.Invoke(wf, arguments);

             //Get the output value and assign to return string

             var returnString = outputs["Result"].ToString();

             return returnString;



You can see the value in “returnString” which is returned from Native Code Activity.

No comments:

Post a Comment