我在Applications_Start方法(Global.asax)中初始化我的Web應用程序的靜態狀態。那時我寫了一條消息來登錄。突然間我意識到這種方法每10分鐘就會被調用一次。ASP.NET通常回收其應用程序的頻率(AppDomains)
糾正行爲?我希望ASP.NET至少保留幾個小時的應用程序。
我在Applications_Start方法(Global.asax)中初始化我的Web應用程序的靜態狀態。那時我寫了一條消息來登錄。突然間我意識到這種方法每10分鐘就會被調用一次。ASP.NET通常回收其應用程序的頻率(AppDomains)
糾正行爲?我希望ASP.NET至少保留幾個小時的應用程序。
您的期望不正確。這是在IIS配置中的應用程序池設置中設置的。我認爲默認是20分鐘。如果不能回收應用程序池,可將其更改爲0。
這不是典型的。有些東西正在導致它重新啓動,它不應該經常這樣做。查看How to find out why an ASP.NET web application is being restarted問題,看看如何記錄重啓的原因。
由於您正在寫出日誌文件,因此您可能正在將它們寫入要監視重新編譯的位置,這將導致appdomain重新啓動。看看帖子What causes an application pool in IIS to recycle?
看看iis.net這篇文章,看看回收的默認。這是29個小時,所以除非你改變了這個設置,否則其他的東西會導致它,而不是自動回收。
也許在閒置後這是正確的,但我認爲這是更長的時間,如果該網站受到打擊。 –
29小時是默認值。 http://www.iis.net/configreference/system.applicationhost/applicationpools/add/recycling/periodicrestart –
我們正在談論兩件不同的事情。我的意思是閒置循環時間,而不是在固定時間後強制循環池回收。 – kubal5003