コード例 #1
0
        public void Process(MessageContext messageContext)
        {
            object body = null;
            var subject = messageContext.Message.Properties.Subject;
            switch(subject)
            {
                case "Person":
                    body = messageContext.Message.GetBody<Person>();
                    break;
                case "MapAddress":
                    body = messageContext.Message.GetBody<MapAddress>();
                    break;
                case "InternationalAddress":
                    body = messageContext.Message.GetBody<InternationalAddress>();
                    break;
                default:
                    break;
            }

            if (body == null)
            {
                Console.WriteLine("Received a message with unknown type {0} in subject.", subject);
            }
            else
            {
                Console.WriteLine("Received a message with body {0}", body.GetType().Name);
            }

            messageContext.Complete();
        }
コード例 #2
0
 public override void OnMessage(MessageContext messageContext)
 {
     // this can also be done when an async operation, if required, is done
     messageContext.Complete();
 }
コード例 #3
0
        public void Process(MessageContext messageContext)
        {
            if (this.Messages != null)
            {
                this.Messages.Add(messageContext.Message);
            }

            messageContext.Complete();
        }
コード例 #4
0
 /// <summary>
 /// Processes a received message. A receiving endpoint must implement this method to process messages.
 /// </summary>
 /// <param name="messageContext">Context of the received message.</param>
 public virtual void OnMessage(MessageContext messageContext)
 {
     throw new NotImplementedException();
 }
コード例 #5
0
ファイル: Program.cs プロジェクト: rajeshganesh/amqpnetlite
 void IMessageProcessor.Process(MessageContext messageContext)
 {
     Console.WriteLine("Received a message.");
     messageContext.Complete();
 }
コード例 #6
0
 public override void OnMessage(MessageContext messageContext)
 {
     messageContext.Complete();
 }
コード例 #7
0
ファイル: Program.cs プロジェクト: Indifer/amqpnetlite
 void IMessageProcessor.Process(MessageContext messageContext)
 {
     messageContext.Complete();
     this.OnComplete();
 }
コード例 #8
0
ファイル: Program.cs プロジェクト: Eclo/amqpnetlite
            public override void OnMessage(MessageContext messageContext)
            {
                messageContext.Complete();

                // delay 1s for the next message
                Task.Delay(1000, this.cts.Token).ContinueWith(
                    t =>
                    {
                        if (!t.IsCanceled)
                        {
                            this.link.SetCredit(1, false, false);
                        }
                    });
            }
コード例 #9
0
ファイル: Program.cs プロジェクト: Eclo/amqpnetlite
 public override void OnMessage(MessageContext messageContext)
 {
     this.semaphore.WaitAsync(30000).ContinueWith(
         t =>
         {
             if (!t.Result)
             {
                 messageContext.Complete(new Error() { Condition = ErrorCode.ResourceLimitExceeded });
             }
             else
             {
                 this.semaphore.Release();
                 messageContext.Complete();
             }
         });
 }
コード例 #10
0
ファイル: Program.cs プロジェクト: Eclo/amqpnetlite
 public void Process(MessageContext messageContext)
 {
     Console.WriteLine("Listener: received '{0}'.", messageContext.Message.Body);
     messageContext.Complete();
 }
コード例 #11
0
 /// <summary>
 /// Notifies the message processor to processe a received message.
 /// </summary>
 /// <param name="messageContext">Context of the received message.</param>
 public override void OnMessage(MessageContext messageContext)
 {
     this.messageProcessor.Process(messageContext);
 }
コード例 #12
0
 public void Process(MessageContext messageContext)
 {
     this.Messages.Add(messageContext.Message);
     messageContext.Complete();
 }
コード例 #13
0
            static void DispatchMessage(ListenerLink link, Message message, DeliveryState deliveryState, object state)
            {
                MessageContext context = new MessageContext(link, message);

                ((MessageProcessor)state).processor.Process(context);
            }
コード例 #14
0
 /// <summary>
 /// Processes a received message.
 /// </summary>
 /// <param name="messageContext">Context of the received message.</param>
 /// <remarks>
 /// A receiving endpoint must implement this method to process messages.
 /// The endpoint should call messageContext.Complete to finish processing
 /// the message. An Accepted outcome or a Rejected outcome with the
 /// specified error will be sent to the client.
 /// A sending endpoint never receives messages and should not override this
 /// method.
 /// </remarks>
 public virtual void OnMessage(MessageContext messageContext)
 {
     throw new NotImplementedException();
 }