2010-08-23 73 views
5

IIS 7.5引入了自动启动提供程序的概念,允许您在应用程序池启动时让WAS自动加载应用程序或程序集。当应用程序池启动/回收时,您可以将IIS7配置为自动启动Windows进程激活服务(WAS)应用程序吗?

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

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

我们已经考虑

其他选项是:

  • 部署应用程序作为Windows服务,以便它不会重新循环(这会工作,但IIS的应用生命周期管理/ WAS是有用的东西,除了这个问题)

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

但是,最好的方法是让IIS7/WAS为我们做到这一点。

+0

我会投你的第二个选择:单独服务。最简单和最干净的事情为我做...或迁移到7.5 :) – Arthis 2010-08-31 15:04:14

回答

4

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

这对你来说是否可行?

问候,

米歇尔

1

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

相关问题