我在Windows Azure工作角色中有一個啓動任務。此啓動任務對需要在VM中重新引導的註冊表進行更改。所以我需要一種方式來表明它需要重啓的角色。在Azure中,啓動任務如何與包含它的角色通信?
到目前爲止,我的解決方案是讓Startup Task創建一個虛擬文件,如果它發現註冊表已被修改(這意味着該角色已重新啓動)。所以角色第一次運行時,它找不到虛擬文件,所以它會拋出未處理的異常,導致角色重新啓動。
下一次啓動任務再次啓動並創建虛擬文件,這樣我們就不會陷入無限循環。
這聽起來像一個非常hacky的解決方案。有沒有更好的方法來做到這一點?我認爲一個簡單的方法是強制從啓動任務重新啓動,但無法找到如何做到這一點。
對於任何人在這個問題上磕磕絆絆:沒有什麼hacky或不清楚寫作和檢查文件的存在。這個方法至少被認可[在這裏](https://msdn.microsoft.com/en-us/library/azure/jj129544.aspx)和[here](https://msdn.microsoft.com/en-us /library/hh290696(v=sql.110).aspx)。在我看來,它是*更*維護和乾淨,只是檢查一個文件。如果您正在檢查特定的註冊表項,現在您有*兩個*位置可以更改代碼(編寫代碼和檢查代碼),如果註冊表項位置發生更改.. – mellamokb 2015-08-11 13:29:34