Ho un ruolo di lavoro Azure che è responsabile per il controllo delle code di bus 4 di servizio. Attualmente, ho solo il metodo di loop per controllare manualmente le code.Utilizzando QueueClient.OnMessage in un ruolo di lavoratore azzurro
while(true)
{
//loop through my queues to check for messages
}
Con Azure SDK 2.0 è arrivata la possibilità di ascoltare i messaggi anziché il polling. Ma ogni esempio che ho visto utilizza un'app console con Console.ReadKey(). C'è un modo per avere il ruolo di lavoratore seduto e aspettare anche i messaggi?
ho provato:
public override void Run()
{
_queueProcessors.ForEach(x => x.OnMessage(Process);
}
dove _queueProcessors è un elenco di QueueClients e processo è un metodo privato che gestisce i messaggi. Tuttavia, il ruolo del lavoratore li registra e poi si riavvia.
Quindi qualcuno sa come fare un client coda di sedersi e aspettare su un messaggio?
A quanto pare Google fu è migliore della mia. :) Grazie! – mccow002
mccow002 Devi dare un po 'di credito a @abhishek. È un PM nel team di Windows Azure. Potrebbe benissimo aver scritto l'esempio prima che OnMessage fosse pubblico. :) –
Molto bello, un vantaggio collaterale di questo approccio è che puoi uscire da OnMessage quando vuoi. Stavo cercando una forma di stato.Break (simile a Parallel.For), ma questo funziona bene. Grazie. – ProVega