从工作流程调用长时间运行的WCF服务之前排队?

时间:2011-11-20 18:29:35

标签: .net wcf workflow-foundation workflow-foundation-4 workflowservice

我有一个长期运行的工作流服务,我可以从中调用多个服务。其中一项服务是长期运行的共享企业WCF服务,它连接到遗留系统,其吞吐量受底层遗留系统的约束。当达到调用共享WCF服务的步骤时,我可能在内存中有数百个WF实例。 WCF服务不限制实例创建或定量实例创建。

在我的工作流程和调用的WCF服务中,我可以期待哪些问题?是否有助于不直接调用WCF服务,但是根据WCF服务吞吐量对其进行排队并限制对WCF服务的调用次数?如果排队是什么,那么工作流程中的开箱即用选项是什么?

同样,在工作流程中管理服务可用性问题的理想设计是什么?

1 个答案:

答案 0 :(得分:1)

在这种情况下,排队调用较慢的服务是一个好主意。如果不这样做,整个系统将备份阻止等待I / O的线程的工作流,最终您将遭受线程饥饿。即使您在这种情况下打开限制,您也只能将问题推送到正在发送消息的客户端应用程序上。

我会考虑使用Azure ServiceBus队列或MSMQ