5

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

可以用 IIS7 实现类似的事情吗?

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

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

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

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

但是,最好的方法是让 IIS7/WAS 为我们执行此操作。

4

2 回答 2

4

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

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

问候,

米歇尔

于 2010-08-31T09:47:35.970 回答
1

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

于 2010-08-31T16:23:27.863 回答