是否有可能定義的順序Azure中的角色應該開始?Azure角色啓動順序
我有我顯然是在利用高速緩存的高速緩存輔助角色。我也使用它作爲我的會話狀態提供者。
當我開始我的Visual Studio解決方案,並在瀏覽器中,我得到一個錯誤信息說緩存中不存在打開。如果我提出另一個請求,它工作正常。這似乎是因爲Web角色在它嘗試使用的緩存角色之前開始分數。
這是不是真的在實際環境中的問題,因爲天青不會將請求路由到應用程序,直到所有的角色都準備然而,當我在本地運行的是一個有點討厭。
謝謝
是否有可能定義的順序Azure中的角色應該開始?Azure角色啓動順序
我有我顯然是在利用高速緩存的高速緩存輔助角色。我也使用它作爲我的會話狀態提供者。
當我開始我的Visual Studio解決方案,並在瀏覽器中,我得到一個錯誤信息說緩存中不存在打開。如果我提出另一個請求,它工作正常。這似乎是因爲Web角色在它嘗試使用的緩存角色之前開始分數。
這是不是真的在實際環境中的問題,因爲天青不會將請求路由到應用程序,直到所有的角色都準備然而,當我在本地運行的是一個有點討厭。
謝謝
您不能指定角色啓動順序。但是,您可以將設爲,然後將您的Web角色實例保留在負載平衡器之外,直到您確定環境已啓動並充分運行。
在您的OnStart()
中,您可能會放入一些代碼嘗試從緩存中獲取某些內容(如果Web角色實例在緩存角色之前出現,可能會失敗)。或者,也許可以ping緩存角色實例(我會讓你知道緩存角色實例的最佳方式)。只要定期重試直到您成功,然後從OnStart()
返回。此時,負載平衡器將開始將流量引導至角色實例,並且您應該狀態良好。
注意:當您的Web角色實例是不可用的,你會看到一個HTTP錯誤,因爲該網站將在啓動期間暫時不可用,但你不應該看到緩存錯誤消息。
更多細節周圍OnStart
:here。
謝謝大衛,我會放棄這個看起來像一個很好的解決方案。 – radm4
我不記得訂購角色啓動的方法。你不能這樣做。必須等待緩存。 – astaykov