2013-03-11 30 views
5

我有一個網絡和一個工作者角色的Azure雲服務。當Azure雲服務停止時,將調用OnStop()方法。Azure雲服務 - VIP交換是否會導致OnStop()被調用?

在VIP交換中,只要請求VIP交換,它是否在傳出服務部署上調用相同的OnStop()方法? http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.roleentrypoint.onstop.aspx

另外,VIP交換過程中的事件順序是什麼?據推測,新部署的工作者OnStart()方法在某個時間點運行,但在傳出部署的OnStop()之前運行?我試圖瞭解兩個工作者角色版本(傳入和傳出部署)是否將同時運行,或者是否在工作人員角色服務中存在短缺。

+0

Gaurav和Sharptooth覆蓋了OnStop部分(基本上,OnStop只發生在您的角色停止 - 並且VIP交換不會啓動停止時)。我想對你的第二個問題發表評論:「我試圖瞭解兩個工作者角色版本(傳入和傳出部署)是否將同時運行,或者是否在工作人員角色服務中存在短缺。」簡單的答案是,不應該有任何東西在聽的間隙,但是舊的和新的代碼仍然可以同時執行,因爲當新交換時OLD可能已經在處理請求了。 – codingoutloud 2013-03-18 21:30:41

回答

7

據我所知,當您執行VIP交換更改發生在路由器/防火牆級別而不是在雲服務級別。您的雲服務繼續運行,並且OnStop()事件未被觸發。由於文檔在這裏提到:http://msdn.microsoft.com/en-us/library/windowsazure/hh386336.aspx

當服務被提升到生產,貴賓和被分配到生產環境 被分配到部署 是目前臨時環境URL,從而「推動「 服務生產。分配給分段 環境的VIP和URL將分配給在生產 環境中的部署。

1

在「VIP交換」期間不會發生任何事件。我們已經爲所有類型的事件和入口點添加了追蹤,並且絕對來自角色代碼,看起來在「VIP交換」期間沒有任何事情發生。

您的服務在交換過程中不會中斷。只有新的請求才會開始進入新的部署。較舊和較新的部署並行運行,直到您停止較舊(現在正在運行)的部署爲止。你的應用程序應該能夠處理這種情況並且不會破壞任何東西。

相關問題