Пример #1
0
        static async Task Deadletter()
        {
            try
            {
                string           ServiceBusConnectionString = "Endpoint=sb://pricechange.servicebus.windows.net/;SharedAccessKeyName=cartitempricechange;SharedAccessKey=zOK+zZifCv4xX4f0af4Bctrg6tXeLKvwD9vhBT9YlZ8=";
                string           TopicName        = "pricechange-topic";
                string           SubscriptionName = "pricechange-topic-subscription";
                MessagingFactory factory          = MessagingFactory.CreateFromConnectionString(ServiceBusConnectionString);
                string           path             = Microsoft.ServiceBus.Messaging.SubscriptionClient.FormatDeadLetterPath(TopicName, SubscriptionName);
                Microsoft.ServiceBus.Messaging.MessageReceiver deadletterReceiver = factory.CreateMessageReceiver(path);

                BrokeredMessage msg = deadletterReceiver.Receive();
                if (msg != null)
                {
                    var messageBody     = new StreamReader(msg.GetBody <Stream>(), Encoding.UTF8).ReadToEnd();
                    var receivedMessage = JsonConvert.DeserializeObject <ServiceBusMessage>(messageBody);

                    Console.WriteLine($"Received message: UserInfo:{receivedMessage.Id}");
                    Console.ReadKey();
                    msg.Complete();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
 public BrokeredMessage Receive()
 {
     return(messageReceiverCore.Receive());
 }