所以我在 2012 年创建了一个合同优先工作流。我有一个 xamlx 文件,其中包含每个操作的并行路径。在IIS(快递)下一切正常。
但是,我需要在 EXE 而不是 IIS 中承载这些 WCF 服务。我一直在尝试使用工作流服务主机,但无论我如何配置它,我不断收到与"必须设置活动"之类的错误......等等。
不幸的是,在网络上搜索并没有找到有效的 WF4.5 解决方案。任何帮助表示赞赏。
IIS 使用从 WCF ServiceHost 派生的 WorkflowServiceHost。只需使用工作流定义新建一个并打开它即可开始侦听传入的请求。
简单的控制台应用程序代码。
var workflow = new MyWorkflow();
var serviceHost = new WorkflowServiceHost(workflow);
serviceHost.Open();
Console.WriteLine("WorkflowServiceHost is listening...");
Console.ReadLine();serviceHost.Close();
相关应用配置。
<system.serviceModel>
<services>
<service name="MyWorkflow">
<endpoint address="http://localhost:8080/MyWorkflow" binding="basicHttpBinding" contract="IMyWorkflow"/>
</service>
</services>
</system.serviceModel>