簡體   English   中英

Asp.Net應用程序池重疊的回收時間?

[英]Asp.Net App Pool Overlapped Recycling Timing?

最好的是,我可以告訴工作進程何時回收:

a)新的一個在舊的關閉之前旋轉起來b)舊的一旦所有活動請求關閉服務就關閉

以上准確嗎?

如果是這樣,一旦從global.ascx文件觸發Application_End(),我就有存儲在SQL中的數據。 我在Application_Start()觸發時將這些數據拉回。

問題基於我的測試,新的工作進程在我的舊工作進程有機會完成其Application_End()之前觸發Application_Start()。

處理這種情況的最佳做法是什么?

提前歡呼

編輯:我剛剛注意到IIS 7中的功能“禁用重疊回收”-我猜這是最好的方法

您對重疊回收的描述是准確的,是的(1); 並且有一個禁用它的設置,但是它是為了防止您將重新引入的HTTP錯誤。 應用程序池回收是托管應用程序的正常情況(必須阻止(例如,來自CLR限制的詞干,該限制防止在同一內存空間中卸載程序集)這是莖),這是您必須設計的。

網絡農場網絡花園中,您的技術將難以管理。

我認為,更好的設計是依靠數據的進程外存儲(使用ScaleOut,App Fabric等分布式緩存產品),以便所有應用程序池都具有相同的緩存數據視圖。

(1) -http://mvolo.com/blogs/serverside/archive/2008/02/25/Starting_2C00_-stopping-and-recycling-IIS-7.0-Web-sites-and-application-pools.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM