WCF工作流服务的MSMQ激活 - 关闭?

时间:2011-09-21 13:29:45

标签: workflow-foundation msmq

我正在设置由MSMQ激活的工作流服务,如下所述: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=21245(概要:WCF工作流服务应用程序具有从MSMQ轮询的接收请求)。

我正在使用.NET 4.0。

它就像一个魅力。但是,是否有一种简单的方法可以告诉它在特定时间内将其关闭或不运行?理想情况下,我想以编程方式(仅在非工作时间运行)或通过配置(我们需要手动禁用它来处理问题)来执行此操作。我可以把它指向一个空的队列,但这似乎是一个copout。

1 个答案:

答案 0 :(得分:3)

如果您的工作流服务作为Windows服务托管,那么您可以使用任务计划程序在特定时间停止并启动它。入站消息将在停机期间在队列中累积,并在服务重新启动时进行处理。

据我所知,msmq没有服务窗口的概念。

  

但是,我正在通过IIS托管工作流服务

如果您在IIS中托管工作流程,则可以在特定时间展开应用程序池,然后再次为您的服务窗口重新启动它。这是您可以从计划任务调用的powershell脚本:Start/Stop App Pool IIS6.0 with Powershell or command line

然而,上述方法非常糟糕,如果您在生产中遇到问题,我不会感到惊讶。

相关问题