我已閱讀MSDN article (link)它說有關IIS進程回收的東西,事實證明,舊的工作進程停止之前IIS進程回收
的新進程啓動,然後請求定向到新的處理。
但是,當我讀到了那篇文章我看到這個的下一個部分:
發生多實例的:在多實例,同時一個進程運行的兩個或多個實例。根據應用程序池的配置方式,可以運行多個工作進程實例,每個實例都可能加載並運行相同的應用程序代碼。重複回收的發生是多實例化的一個例子,Web園區中的兩個或多個進程爲應用程序池提供服務,而不管回收設置如何。
如果您的應用程序無法在多實例環境中運行,則必須僅爲應用程序池配置一個工作進程(這是默認值),並且在使用應用程序池回收的情況下禁用重疊的回收功能。
所以,我有點困惑。
一方面,我很滿意,當所有的網絡請求立即和永久的變成到新的流程實例。另一方面,如果我的應用程序在上面引用「無法在多實例環境中運行」,則本文建議我不要使用回收。這意味着,在我看來,請求可能是流程作爲一個或另一個流程實例,這是我的應用程序邏輯不允許的。
我想知道的是,如果有機會,有任何機會,IIS可能走得這麼糟糕,崩潰我的應用程序,或者我不應該擔心它?
爲什麼您認爲您的應用程序無法在多實例環境中運行? –
由於'Session'和其他可以用'lock'控制的東西的一些增量。 – AgentFire
我相信這完全取決於如何使用工作線程來配置應用程序池。如果您將其設置爲1並且沒有網站羣。那你應該沒問題。 –