public static void OnMessageReceive(IAsyncResult result) { QueueClient queueClient = (QueueClient)result.AsyncState; try { //Receive the message with the EndReceive call BrokeredMessage message = queueClient.EndReceive(result); if (message != null) { Console.WriteLine("\nMessage Received: Id = {0}, Body = {1}", message.MessageId, message.GetBody <string>()); // The following is necessary in PeekLock Receive mode only. // Complete the message asynchronously. message.BeginComplete(OnMessageComplete, message); } else { Console.WriteLine("OnMessageReceive: Unexpected Error, Did not receive any messages"); } } catch (Exception e) { Console.WriteLine("OnMessageReceive: Unexpected exception in {0}", e.ToString()); throw; } }
public static void SafeCompleteAsync(this BrokeredMessage message, string subscription, Action <bool> callback, long processingElapsedMilliseconds, long schedulingElapsedMilliseconds, Stopwatch roundtripStopwatch) { SafeMessagingActionAsync( ac => message.BeginComplete(ac, null), message.EndComplete, message, callback, "An error occurred while completing message {0} in subscription {1} with processing time {3} (scheduling {4} request {5} roundtrip {6}). Error message: {2}", message.MessageId, subscription, processingElapsedMilliseconds, schedulingElapsedMilliseconds, roundtripStopwatch); }