IIS 7.5 引入了自动启动提供程序的概念,它允许您让 WAS 在应用程序池启动时自动加载应用程序或程序集。
可以用 IIS7 实现类似的事情吗?
基本上,我们有一个在 WAS 下运行的应用程序,并且有一个内存中的数据缓存。当应用程序池回收发生时,我的 WAS 部署应用程序实际上不会被激活,直到收到第一次命中。这意味着当收到第一个命中时缓存是冷的。能够在应用程序池回收后立即预启动应用程序会很好。
我们考虑过的其他选择是:
将应用程序部署为 Windows 服务,这样它就不会重新循环(这会起作用,但是 IIS/WAS 的应用程序生命周期管理是一个有用的东西,除了这个问题)
编写一个单独的服务,它的工作是 ping 我们的应用程序以预热它。
但是,最好的方法是让 IIS7/WAS 为我们执行此操作。