protected virtual void HandleDeserializeException(DeserializeException ex, IConsumeMessagingContext <TMessage> messagingContext)
 {
     if (_metadata.ConsumeOptions.IsAutoAckWhenDeserializeFailed)
     {
         _logger.Error(ex.InnerException, "The Queue({0}) deserialize message failed! Will auto ack this message!", _metadata.ConsumeOptions.Queue);
         messagingContext.Ack();
     }
     else
     {
         _logger.Error(ex.InnerException, "The Queue({0}) deserialize message failed! Will reject message!", _metadata.ConsumeOptions.Queue);
         System.Threading.Thread.Sleep(2000);
         messagingContext.Nack();
     }
 }
Пример #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            List <Customer> customers;

            _deserializeException = new DeserializeException();
            customers             = CustomerOperations.IgnoreNullValuesTest(5);

            if (!_deserializeException.HasException)
            {
                foreach (var customer in customers)
                {
                    Console.WriteLine($"{customer.Id}, {customer.CompanyName}, [{customer.ContactTitle}] [{customer.ContactFirstName}] [{customer.ContactLastName}] [{customer.CountryIdentifier == null}]");
                }
            }
            else
            {
                MessageBox.Show($"Failed to read customers\n{_deserializeException.Exception.Message}\nfrom {_deserializeException.MethodName}");
            }
        }
Пример #3
0
 private void CustomerOperations_OnExceptionEvent(DeserializeException container)
 {
     _deserializeException = container;
 }