Ich habe eine Azure-Worker-Rolle, die für die Überprüfung von 4 Service-Bus-Warteschlangen zuständig ist. Derzeit habe ich nur die Schleifenmethode, um die Warteschlangen manuell zu überprüfen.Verwenden von QueueClient.OnMessage in einer Azure-Worker-Rolle
Mit dem Azure SDK 2.0 kam die Fähigkeit zum Abhören von Nachrichten und nicht zum Abrufen von Nachrichten. Aber jedes Beispiel, das ich gesehen habe, verwendet eine Konsolen-App mit Console.ReadKey(). Gibt es eine Möglichkeit, die Rolle des Arbeiters auf Nachrichten warten zu lassen?
Ich habe versucht:
public override void Run()
{
_queueProcessors.ForEach(x => x.OnMessage(Process);
}
wo _queueProcessors ist eine Liste von QueueClients und Verfahren eine private Methode ist, dass die Nachrichten verarbeitet. Die Worker-Rolle würde sie jedoch registrieren und neu starten.
Also weiß jemand, wie man einen Warteschlangen-Client sitzen und auf eine Nachricht warten?
Anscheinend Ihr Google-Fu ist besser als meine. :) Vielen Dank! – mccow002
mccow002 Sie müssen @abhishek ein wenig Kredit geben. Er ist ein PM im Windows Azure-Team. Er könnte die Probe sehr wohl geschrieben haben, bevor OnMessage öffentlich war. :) –
Sehr schön, ein Nebenvorteil dieses Ansatzes ist, dass Sie aus der OnMessage ausbrechen können, wann immer Sie wollen. Ich war auf der Suche nach einer Form von State.Break (ähnlich wie Parallel.For), aber das funktioniert gut. Vielen Dank. – ProVega