2010-08-23 32 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任務計劃程序,創建一個腳本或您希望它運行的任何內容,以便能夠初始化您的網站。將任務的觸發器設置爲偶數,設置您要觸發任務的事件過濾器,然後瞧。

相關問題