Mam rolę pracownika usługi Azure, która odpowiada za sprawdzenie 4 kolejek magistrali usług. Obecnie używam tylko metody zapętlenia, aby ręcznie sprawdzić kolejki.Korzystanie z obiektu QueueClient.OnMessage w roli pracownika niebieskiego
while(true)
{
//loop through my queues to check for messages
}
Wraz z zestawem Azure SDK 2.0 pojawiła się możliwość nasłuchiwania wiadomości zamiast pobierania. Ale każdy przykład widziałem używa aplikacji konsolowej z Console.ReadKey(). Czy istnieje sposób, aby obsadzić rolę pracownika i czekać na wiadomości?
Próbowałem:
public override void Run()
{
_queueProcessors.ForEach(x => x.OnMessage(Process);
}
gdzie _queueProcessors jest lista QueueClients i procesu jest prywatnym sposób, który obsługuje wiadomości. Jednak rola robota rejestruje je, a następnie uruchamia ponownie.
Ktoś wie, jak ustawić klienta kolejki do pracy i czekać na wiadomość?
Widocznie Twój google-fu jest lepsze niż moje. :) Dzięki! – mccow002
mccow002 Musisz dać @abhishek trochę kredytu. Jest prezesem zespołu Windows Azure. Może bardzo dobrze napisał próbkę, zanim OnMessage był publiczny. :) –
Bardzo miło, zaletą tego podejścia jest to, że możesz wyjść z OnMessage kiedy chcesz. Szukałem jakiejś formy state.Break (podobnej do Parallel.For), ale działa to dobrze. Dzięki. – ProVega