如何(预)启动xamlx工作流服务

时间:2010-04-07 21:32:56

标签: workflow-foundation-4 iis-7.5 xamlx wcf-routing

this question相关。

我有一个xamlx工作流服务,它在运行时从数据库加载部分定义(使用ActivityXamlServices.Load)。原因是我需要版本控制,请参阅相关问题。我将使用WCF路由将呼叫定向到正确的服务。

我动态加载的部分包含Receive个活动。但是,只要工作流未启动,此活动就是“不可见的”,因为我从数据库加载的工作流部分仅在工作流启动时加载。因此,从外部看来,工作流中似乎没有Receive活动。

除了无法生成工作流服务的合同外,我也无法调用该服务。我的第一次尝试是在工作流服务上使用正确的合同进行肥皂呼叫。但是,在这种情况下,运行时不会自动激活我的工作流。所以问题是,如何启动IIS中托管的工作流程?

2 个答案:

答案 0 :(得分:1)

IIS 7.5有一个相对较新的模块叫做Application Warmup。这是一个可配置的工具,允许IIS启动您的应用程序,具有不同程度的可配置性。我建议查看这两个链接:

http://www.iis.net/download/ApplicationWarmUp

http://learn.iis.net/page.aspx/688/using-the-iis-application-warm-up-module/

答案 1 :(得分:1)

Windows Server AppFabric包含一个有用的自动启动功能。

查看How to create a WF4 WorkflowServiceHostFactory for AppFabric Auto-Start

我还有一个示例,演示如何从具有虚拟路径提供程序的数据库加载XAMLX Windows Workflow Foundation (WF4) - Workflow Service Repository Example