2011-04-08 63 views
0

我有asp.net的Web應用程序。在我運行應用程序之後調用了application_Start。 如果我持有一個頁面,並在幾分鐘後(約10-15分鐘)重新加載(或回發)頁面,我又失去了再次調用viewstate和sessionstate和application_Start。
如果我打開網站application_Start被調用,並且如果關閉瀏覽器並在幾分鐘後再次打開網站(如上所示),application_Start再次調用。它只發生在我的主機上。但在本地主機上卻沒有遇到這個問題。 這是從我的應用程序或從主機問題?我如何追蹤問題?Application_Start()每次調用時,如果網站不使用,而

回答

2

聽起來好像您的應用程序池正在被回收。閱讀here獲取更多信息(對於IIS6)或here(對於IIS7)。

+1

是的,這是正常的行爲。你可能想看看使用狀態服務器會話狀態而不是inproc。狀態服務器意味着會話存儲在另一個進程中,或者在同一臺服務器上或另一臺服務器上,並且不存儲在asp.net工作進程中,即如果應用程序池被回收,則仍然具有會話狀態。或者,您可以使用SQL服務器會話狀態,因爲喬納斯建議 – 2011-04-08 15:40:55

+0

這是正常的,如果您的應用程序在一段時間後沒有收到任何活動,託管它的進程將終止,從而導致任何會話丟失。你可以使用SQL會話狀態來解決這個問題,或者你可以增加工作進程的持續時間。 – Jonas 2011-04-08 15:41:40

+0

@Russ Cam:有沒有辦法改變這種行爲?或者我應該這樣離開它? – Raika 2011-04-08 15:42:14

相關問題