我参与测试ASP.NET MVC站点,该站点使用在同一IIS服务器上作为单独站点托管的WF服务。
我们目前使用Log4Net来协助阶段和生产中的诊断,因此系统管理员会定期将记录级别从WARN设置为DEBUG,并在短时间内再次返回以捕获日志。
当WF服务的网站的web.config被编辑时(或者我只是不太了解WF),我注意到WF服务有一些奇怪的行为。我明白IIS会监视web.config并强制执行AppPool在修改时会循环使用,但让我感到困惑的是,WF服务似乎在下次收到服务请求之前休眠。这意味着等待定时器的所有待处理工作流将在AppPool-recycle之后的第一个服务请求之前不会执行任何操作,然后所有先前已经触发的服务请求将同时触发。
我希望这只是一些我们忽略的简单配置设置,但是任何帮助都会非常受欢迎,如果是这样的话,请随时给我一个RTFM链接:)
编辑:哇,没有WF爱在这里。我们仍然把这个问题放在了这个问题上,更重要的是要炒鱼,但这个问题仍然让我非常担忧。
答案 0 :(得分:1)
这是IIS的问题。基本上,IIS在收到请求之前不会启动应用程序池。如果修改了web.config,但是如果在一段时间内没有对您的站点发出请求(我想10分钟),就会发生这种情况。
解决方法是使用Microsoft的this utility“预热”IIS。它模拟了第一个确保应用程序池始终在运行的请求。
希望这有帮助。
答案 1 :(得分:1)
Windows Server AppFabric有一个WorkflowManagement服务,它将在回收后重新启动工作流程。