2013-09-26 173 views
1

假設我有一個由IIS託管的ASP.Net Web應用程序。除了服務請求的功能之外,我還添加了一個在指定時間間隔(例如,每30分鐘一班。此操作與外部Web請求無關,例如,其目的是刪除無用的日誌文件。IIS和託管的ASP.Net應用程序

現在的問題是:如果沒有人長時間(一天,一週)來我的網站,IIS會保持我的應用程序的活動狀態,並且上述操作將每隔30分鐘執行一次。或者如果長時間沒有請求,IIS會關閉/暫停應用程序的活動?

也許這是一個蹩腳的問題,但我沒有找到明確的答案。

+3

你如何每30分鐘執行一次動作? – jle

+0

您的額外操作可能應該是計劃作爲Windows後臺進程/服務運行的某些內容,而不是IIS或IIS Web應用程序的一部分。 – Derek

+0

@jle計時器間隔 – marss

回答

2

IIS沒有關閉,但IIS會在一段時間的未使用後回收您的應用程序。

所以,如果你的應用程序負責解僱事件,那麼如果你的應用程序沒有運行(回收),它不會運行。

要麼有一項服務在一段時間內擊中您的網站,要麼在服務器上設置計劃任務(如果您有權訪問本機)。

如果你在共享主機上,你必須檢查他們的功能,看看他們是否有類似的東西。另外,如果你只是想刪除日誌文件或者一些瑣碎而不是時間敏感的東西(因爲除非有人打你的網站你不會有日誌),你可以在Application_Start中執行你的操作。這甚至會在IIS重新啓動應用程序時觸發。

+0

感謝您指點我正確的方向。我搜索'iis應用程序回收',這似乎正是我所期待的。 – marss

+0

@marss也看到我最近的編輯 – Eonasdan