您可以将IIS7配置为在应用程序池启动/回收时自动启动Windows进程激活服务(WAS)应用程序吗?

时间:2010-08-23 09:33:58

标签: c# .net iis iis-7 was

IIS 7.5引入了自动启动提供程序的概念,允许您在应用程序池启动时让WAS自动加载应用程序或程序集。

使用IIS7可以实现类似的功能吗?

基本上,我们有一个在WAS下运行的应用程序,并且具有内存中的数据缓存。当发生应用程序池循环时,我的WAS部署应用程序实际上不会被激活,直到收到它的第一次命中。这意味着在收到第一个匹配时缓存是冷的。一旦应用程序池被回收,最好能够预启动应用程序。

我们考虑过的其他选择是:

  • 将应用程序部署为Windows服务,因此它不会重新循环(这可行,但IIS / WAS的应用程序生命周期管理除此问题外是有用的)

  • 编写一个单独的服务,其工作是ping我们的应用程序以进行预热。

然而,最好的方法是让IIS7 / WAS为我们这样做。

2 个答案:

答案 0 :(得分:4)

在Windows 2008中,您可以记录应用程序池中发生的事件,以便记录回收事件。 您可以配置事件查看器以在记录指定消息时启动程序。您可以在该程序中调用您的服务或加载程序集。

这对您来说是一个可行的解决方案吗?

此致

米歇尔

答案 1 :(得分:1)

在应用程序池的高级设置中,将应用程序池设置为每次回收时生成回收事件日志条目;我认为选项是“特定时间”。然后,您可以使用Windows任务计划程序,创建一个脚本或您希望它运行的脚本,这将打到您的网站,以便它可以初始化。将任务的触发器设置为偶数,设置要触发任务的事件过滤器和瞧。