我正在使用AzureQueue在角色之間進行通信。我的消息如「GoToMaintenanceMode」,「StopSendingEmails」,「DoNotAcceptRequests」等。但是我意識到,當我有多個實例時,由於隊列消息一次只顯示1個實例,它不適用於我的場景。如何將消息發送給所有輔助角色實例?
所以我的問題是旁邊的選項是否有一個優雅的方式來處理這個問題像Role.AllInstances.Run()等?
我使用它現在的方法: 實例偷窺消息,增加了它自己的實例ID的郵件,並將其返回到隊列中,如果它包含不偷看的消息,這是自己的實例ID。
P.S.我不想實現TCP偵聽器,如果有的話就要求本地解決方案。
謝謝!這不是我期待的答案,但處理它是個好主意。但是更喜歡更原生的東西,所以如果沒有其他選擇的話,它會標記爲答案。再次感謝您的時間和關注。 – cilerler 2013-03-03 17:52:51
只是好奇「更原生」是什麼意思。您擁有可變數量的實例,並且您想要向其中的所有人廣播一條消息。您有Azure存儲隊列(非最佳),服務總線隊列(帶pub/sub,最佳,Azure的「本機」),tcp端口(非常快速,易於在RoleInstance中枚舉,輕鬆支持,Windows爲「本機」 。我不確定在這一點上你會得到什麼其他答案,除了SQL表或Azure表存儲中的命令行嗎?再次,變量實例計數,所以你必須考慮到這一點。 – 2013-03-03 19:43:28
@DavidMakogon正如我在問題中所述,我正在尋找類似Role.AllInstances.Run的東西,如果有的話。我一定會使用服務總線而不是隊列。謝謝! – cilerler 2013-03-04 02:28:45