2009-06-05 56 views
6

我知道應用程序池由IIS回收時調用此事件的事件處理程序,但是何時會發生?如果使用內置的Visual Studio服務器(Cassini)呢?如果我終止服務器進程,Application_End會被解僱嗎?Application_End何時被調用,以及如何手動導致此?

更新:我知道關於web.config和BIN文件夾的變化。我感興趣的是在應用程序閒置一段時間後不關閉任何東西而關閉游泳池的情況。

+0

順便說一句,其實從任務欄圖標關閉卡西尼引發ApplicationEnd事件。 – Slavo 2009-06-05 12:36:32

回答

7

Like Nick said「應用程序池將在應用程序池配置中遇到某些回收限制時回收。」在IIS中,您可以在應用程序池設置中設置回收條件。您可以使用固定時間間隔(每X分鐘或每個請求),一天中的特定時間或以MB爲單位的基於內存的最大值(最大虛擬內存或最大私有內存)或其中任何組合。您也可以在幾分鐘之內設置一個空閒超時,之後工作進程終止。

IIS Recycling Settings http://i41.tinypic.com/2j13k1v.png

IIS Advanced Settings http://i42.tinypic.com/s2gz6t.png

5

當您更改web.config或/ bin目錄或應用程序池配置中的部分回收限制時,應用程序池將回收。對於Cassini來說也是如此,除非它沒有應用程序池,所以無論何時web.config或/ bin目錄被更改,它都會觸發。我不知道殺死卡西尼的情況。

+0

謝謝。我沒有清楚地表達這一點,但我對應用程序閒置並且不改變任何內容的情況更感興趣。即閒置是什麼意思 - 它是IIS中的一個可配置選項,可以在關閉應用程序池之前等待多久? – Slavo 2009-06-05 12:35:59

相關問題