非 IIS 环境中的工作流主机.如何



所以我在 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>

最新更新