3

所以我在 2012 年创建了一个合同优先工作流。我有一个 xamlx 文件,其中每个操作都有一个并行路径。在 IIS (Express) 下一切正常。

但是,我需要在 EXE 而不是 IIS 中托管这些 WCF 服务。我一直在尝试使用 WorkflowServiceHost,但无论我如何配置它,我都会收到与“必须设置活动”等相关的错误。等等

不幸的是,在网络上进行的搜索并没有产生有效的 WF4.5 解决方案。任何帮助表示赞赏。

4

1 回答 1

1

IIS 在幕后使用从 WCF ServiceHost 派生的 WorkflowServiceHost。只需使用工作流定义新建一个并打开它以开始侦听传入的请求。

简单的控制台应用程序代码。

var workflow = new MyWorkflow();
var serviceHost = new WorkflowServiceHost(workflow);
serviceHost.Open();
Console.WriteLine("WorkflowServiceHost is listening...");
Console.ReadLine();serviceHost.Close();

相关的 app.config。

<system.serviceModel>
  <services>
    <service name="MyWorkflow">
      <endpoint address="http://localhost:8080/MyWorkflow" binding="basicHttpBinding" contract="IMyWorkflow"/>
    </service>
  </services>
</system.serviceModel>
于 2012-10-09T12:47:40.407 回答