2013-06-01 77 views
0

我正在使用Windows Workflow 4 State Machine的项目。 Visual Studio解决方案模板和大多数指导似乎将所有内容都引导为IIS中的一项服务,该服务由工作流中的发送和接收活动动态创建。在我自己的WCF服务中托管Windows Workflow 4

但是,我宁愿不使用发送和接收活动,然后托管在我自己的WCF服务中,这将允许我使用Windows服务而不使用IIS,并使用TCP等其他绑定而不使用HTTP并创建自己的接口而不是暴露MEX。此外,它可以移植到任何其他主机安排中,比如在WPF应用程序或控制台或其他任何应用程序中。

这让我感觉更加灵活。不知何故,将服务操作作为工作流程的一部分似乎非常紧密地耦合了两件不相关的东西。我的方法有什么缺点吗?我是WF的新手,所以我可能会错过一些东西。

+0

我不这么认为有缺点,你只需要自己实现一些认为工作流服务开箱即用的方式。 – Enes

回答

0

根据您正在运行的工作流类型,您可能需要编写相当多的工作流服务为您提供的抽取代码。

需要考虑的事情:

  • 是你的工作流程长寿命?
  • 您是否将多条消息发送到同一工作流?
  • 您的工作流程是否需要在主机重新启动后生存下来?
  • 您是否在使用Delay活动来响应超时?
  • 您是否需要在出现错误后能够重试操作?

很多这些东西会自动照顾WF服务,否则需要您的关注。这当然是可行的,我已经做到了,但要注意你正在失去的东西。