public async Task BeginListening(CancellationToken token)
        {
            while (!token.IsCancellationRequested)
            {
                try
                {
                    var(msg, msgId, transaction) =
                        await GetMessage(
                            _connectionString,
                            _queueName,
                            token);

                    OnMessageReceived?.Invoke(
                        this,
                        new MessageEventArgs
                    {
                        Message = new AcknowledgeableMessage(
                            msg,
                            msgId,
                            transaction)
                    });
                }
                catch (Exception e)
                {
                    OnMessageException?.Invoke(
                        this,
                        new MessageExceptionArgs
                    {
                        Exception = e
                    });

                    await Task.Delay(1000, token);
                }
            }
        }
Example #2
0
 public virtual void OnCatchException(object receiver, Message message, Exception e)
 {
     OnMessageEventException?.Invoke(receiver, message, e);
 }