0
有時,當IIS重新啓動應用程序池時,它將在前一個實例完全關閉之前啓動應用程序的新實例。這導致我很多問題,所以我想知道我能做些什麼。防止IIS在重啓過程中關閉先前實例之前啓動應用程序
行動的過程就像這樣。 (跨越大約20秒)
- 應用程序正在運行,我們稱之爲實例A.
- 重新啓動初始化
- 一個新的實例啓動時,我們稱之爲B(通過的Application_Start登錄)
- 進來的請求由實例B處理,這會使所有已緩存的數據無效。
- 實例A上的計時器被觸發,假定其緩存有效,並向持久存儲中寫入無效的內容。
- 實例A被關閉(由Application_End記錄)
優選我想禁止上述行爲完全,IIS應只允許一個實例。如果不可能,我可以在我的代碼中檢測是否有其他實例正在運行,然後等待它在application_start內退出?如果不可能,解決此問題的最佳方法是什麼?
除非有正當理由,修復,而不是改變IIS設置你的應用程序。重疊的回收確實可以提供更好的用戶體驗。 – 2013-02-28 22:31:00