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(); } }
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}"); } }
private void CustomerOperations_OnExceptionEvent(DeserializeException container) { _deserializeException = container; }