Dot-Net

Azure 網站上“始終開啟”設置的含義

  • May 23, 2017

我們在 Azure 上使用免費的 BizSpark 訂閱,並將我們的應用程序託管為 Azure 網站。我們會定期與意外的站點關閉作鬥爭,這對我們的應用程序來說非常痛苦,因為它有很多後台程序正在執行。

“始終開啟”設置可以解決這個問題,但不幸的是,在目前訂閱中我們無法使用它。

您可能知道 IIS 有兩個設置循環基於:

  1. 預設情況下,每個應用程序每 1740 分鐘(29 小時)終止一次 -定期重啟超時
  2. 如果 20 分鐘未使用應用程序,也可以回收應用程序 - idle timeout

我想知道如果我們打開“始終開啟”設置,我們能否確定它有助於我們防止上述兩種應用程序回收類型

順便說一句,我發現了這個問題: “Always On”設置會阻止 idleTimeout 和periodicRestart 嗎?有類似的主題。它說這個設置應該有幫助。

但我想確定,這是真的。因為在我們的案例中,實時後台程序的中斷是絕對不可接受的。

感謝任何答案。

是的,當您打開“始終開啟”時,兩者都將被阻止。您連結到的問題的答案(“始終開啟”設置會阻止 idleTimeout 和periodicRestart 嗎?)包含完整的詳細資訊。如果您有多個執行“始終開啟”的實例,也將確保所有實例都保持執行。

對於長時間執行的程序,如果可以的話,我強烈建議您使用 Azure Web Jobs。Azure Webjobs SDK 將使您的開發生活變得更加輕鬆,並免費為您提供許多不錯的監控。在此處查看 Scott Hanselman 的本教程:http ://www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx

僅供參考,Webjobs 在您的網站上下文中執行,因此如果您的網站被回收(如果禁用 Always On),那麼您的 Webjob 也將停止執行。啟用“始終線上”將使您的網路作業和網站保持正常執行。

引用自:https://stackoverflow.com/questions/25545677