IIS 7.5引入了自动启动提供程序的概念,允许您在应用程序池启动时让WAS自动加载应用程序或程序集。
使用IIS7可以实现类似的功能吗?
基本上,我们有一个在WAS下运行的应用程序,并且具有内存中的数据缓存。当发生应用程序池循环时,我的WAS部署应用程序实际上不会被激活,直到收到它的第一次命中。这意味着在收到第一个匹配时缓存是冷的。一旦应用程序池被回收,最好能够预启动应用程序。
我们考虑过的其他选择是:
将应用程序部署为Windows服务,因此它不会重新循环(这可行,但IIS / WAS的应用程序生命周期管理除此问题外是有用的)
编写一个单独的服务,其工作是ping我们的应用程序以进行预热。
然而,最好的方法是让IIS7 / WAS为我们这样做。
答案 0 :(得分:4)
在Windows 2008中,您可以记录应用程序池中发生的事件,以便记录回收事件。 您可以配置事件查看器以在记录指定消息时启动程序。您可以在该程序中调用您的服务或加载程序集。
这对您来说是一个可行的解决方案吗?
此致
米歇尔
答案 1 :(得分:1)
在应用程序池的高级设置中,将应用程序池设置为每次回收时生成回收事件日志条目;我认为选项是“特定时间”。然后,您可以使用Windows任务计划程序,创建一个脚本或您希望它运行的脚本,这将打到您的网站,以便它可以初始化。将任务的触发器设置为偶数,设置要触发任务的事件过滤器和瞧。