Windows Workflow Foundation和IIS ApplicationPool回收(特别是在编辑Web.config之后)

时间:2010-09-07 02:52:08

标签: .net iis workflow-foundation iis-7.5

我参与测试ASP.NET MVC站点,该站点使用在同一IIS服务器上作为单独站点托管的WF服务。

我们目前使用Log4Net来协助阶段和生产中的诊断,因此系统管理员会定期将记录级别从WARN设置为DEBUG,并在短时间内再次返回以捕获日志。

当WF服务的网站的web.config被编辑时(或者我只是不太了解WF),我注意到WF服务有一些奇怪的行为。我明白IIS会监视web.config并强制执行AppPool在修改时会循环使用,但让我感到困惑的是,WF服务似乎在下次收到服务请求之前休眠。这意味着等待定时器的所有待处理工作流将在AppPool-recycle之后的第一个服务请求之前不会执行任何操作,然后所有先前已经触发的服务请求将同时触发。

我希望这只是一些我们忽略的简单配置设置,但是任何帮助都会非常受欢迎,如果是这样的话,请随时给我一个RTFM链接:)

编辑:哇,没有WF爱在这里。我们仍然把这个问题放在了这个问题上,更重要的是要炒鱼,但这个问题仍然让我非常担忧。

2 个答案:

答案 0 :(得分:1)

这是IIS的问题。基本上,IIS在收到请求之前不会启动应用程序池。如果修改了web.config,但是如果在一段时间内没有对您的站点发出请求(我想10分钟),就会发生这种情况。

解决方法是使用Microsoft的this utility“预热”IIS。它模拟了第一个确保应用程序池始终在运行的请求。

希望这有帮助。

答案 1 :(得分:1)

Windows Server AppFabric有一个WorkflowManagement服务,它将在回收后重新启动工作流程。