2010-12-04 38 views
1

據我所知,ASP.NET應用程序每當沒有用戶會話時就結束,默認會話超時是20分鐘。在那之後,當有新的請求時它會再次活躍起來。我可以配置IIS讓我的ASP.NET應用程序永遠活着嗎?

但是,我的應用程序在Application_Start上執行非常緩慢的緩存加載操作,我不希望這種情況發生多次。

如何配置IIS的行爲不同?

我瞭解到IIS 7.5上的應用程序池有一個名爲auto-start的屬性,其他名爲idle-time-out。該文檔說,如果我將自動啓動設置爲true,並將空閒超時設置爲零,則應用程序池將在IIS啓動時啓動並永不超時。但我不知道它是如何集成到ASP.NET中的。這是否意味着Application_Start將在IIS啓動時運行,並且在下一次IIS重新啓動之前它不會再次發生?

回答

2

我使用uptime robot來確保我的應用程序總是啓動。這個 系統的美妙之處在於它只會要求您網站上的頁面標題,並且每5分鐘獲取一次狀態代碼,如「200-ok」,「404-not found」等。這意味着正常運行時間機器人不會向Google Analytics添加噪音,因爲該網頁從未被要求過。

似乎像夢一樣對我和它的免費!

+0

我只是增加了一個監視器。如果這阻止AppPool停止,我將非常放心! – 2011-01-27 19:03:32

1

對於您所描述的IIS 7.5的設置:

也有其他的原因,一個應用程序池重新啓動(例如,其超過存儲器使用限制)。

但是,每次發生這種重新啓動時都會運行Application_Start。而且,管理員可以隨時回收應用程序池。因此,如果您的問題是關於IIS重新啓動和您的應用程序重新啓動之間的1-1關係,那麼答案是否定的。但在正常使用情況下,沒有內存泄漏/可怕的崩潰,應該大致如此。

相關問題