Web api中的Microsoft工作流主机

时间:2016-01-14 16:43:07

标签: asp.net-web-api2 workflow-foundation

我打算在我的项目中使用Microsoft Workflow,并允许其他系统通过rest api触发它。那么,我们可以通过web api 2来托管它。我不想使用WCF,因为它很重,将被web api取代。

感谢。

1 个答案:

答案 0 :(得分:5)

Workflow Foundation并没有像WCF一样支持WebAPI,但是开发团队已经表明它肯定会在未来的版本中出现。

但是,Workflow的最佳功能之一是您可以从任何C#代码调用工作流。因此,您可以创建一个WebAPI项目,并在该方法中简单地水化工作流参数并调用工作流,然后将结果传回。

 WorkflowInstance = new WorkflowInvoker(myWorkflow);
 var InputArguments = new Dictionary<string, object>();
 InputArguments.Add("MyArgument", myVariable);
 var resultDictionary = WorkflowInstance.Invoke(InputArguments);
 var result = (myResult)resultDictionary["MyResult"];

我写了一篇博客文章,其中包含如何使用Workflow和Web API的代码示例。 http://code-coverage.net/using-windows-workflow-with-web-api/