private void Process() { messageContext = new MessageReceiveProperties(); var wrapper = new TransactionWrapper(); wrapper.RunInTransaction(() => Receive(messageContext), isolationLevel, transactionTimeout); ClearFailuresForMessage(messageContext.MessageId); messageContext = null; }
void Process() { _messageContext = new MessageReceiveProperties(); try { var wrapper = new TransactionWrapper(); wrapper.RunInTransaction(() => Receive(_messageContext), _isolationLevel, _transactionTimeout); ClearFailuresForMessage(_messageContext.MessageId); } catch (AbortHandlingCurrentMessageException) { } catch (Exception error) { _log.Error(error); IncrementFailuresForMessage(_messageContext.MessageId); OnFailedMessageProcessing(error); } finally { _messageContext = null; } }