解決IIS應用程式池默認回收導致程式崩潰
- 2020 年 6 月 4 日
- 筆記
這些網上常見的解決:
其實他們只知其一不知其二:一味的調長超時時間根本就是治標不治本的解決方案, 超時時間再長也會出現到期時間,那時候我們該怎麼辦呢?(某些吃瓜群眾就會大喊:那我就手動去重啟一下唄,這種狀況我只能說各位大佬真是天才)
程式的本質是:解放生產力,啥事都讓程式去干 (畢竟懶是第一生產力嘛!)
已下就是我的解決方案(在各位大佬面前獻醜了 ,說錯了可不要噴弟弟我啊!)
在.NET的ASP.NET、ASP.NET MVC與WebService等應用中,常常使用Session、Cache或Application保存伺服器端共享數據,如果沒有使用第三方保存這些緩衝區數據,那麼就存在超時與過期問題:超時後Session和Cache就過期清空了。
雖然可以在程式中配置或設置Session和Cache的超時時間,但還要需要注意一點的是,IIS也有一個與這些緩衝區超時過期密切相關的組件:應用程式池。
「空閑超時(分鐘)」:默認是20分鐘。超過20分鐘後將執行下面的兩個操作之一
「空閑超時操作」:
Terminate:默認是「Terminate」,Terminate表示一旦超時就終止服務,並回收工作進程的緩衝區的記憶體;
Suspend:則懸停等待,暫不回收緩衝區記憶體。