Пример #1
0
        private void OnMessageDeliveryFailure(MessageFailedEventArgs args)
        {
            try
            {
                if (_messageDeliveryFailure != null)
                {
                    Delegate[] list = _messageDeliveryFailure.GetInvocationList();
                    foreach (Delegate t in list)
                    {
                        MessageDeliveryFailureCallback cb = t as MessageDeliveryFailureCallback;
                        if (cb != null)
                        {
#if !NETCORE
                            cb.BeginInvoke(this, args, null, null);
#elif NETCORE
                            TaskFactory factory = new TaskFactory();
                            Task        task    = factory.StartNew(() => cb(this, args));
#endif
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
        }
Пример #2
0
        private void _topic_MessageDeliveryFailure(object sender, MessageFailedEventArgs args)
        {
            var reasonForFailure = args.MessgeFailureReason.ToString();
            var messageID        = args.Message.MessageId;
            var topicName        = args.TopicName;

            _logger.LogError($"Message {messageID} could not be delivered on topic {topicName} for reason:{reasonForFailure}");
        }
Пример #3
0
        void OnMessageFailed(MessageFailedEventArgs e)
        {
#if DEBUG
            string message = "Following message could not be delivered due to error: " + e.Exception.Coalesce(x => x.Message, "Unknown");
#else
            string message = Translation.Instance.ChatWindow_MessageCouldNotBeDelivered;
#endif
            string detail = e.Message;
            chatTextBox.AddError(message, detail);
        }
Пример #4
0
            /// <summary>
            /// Endlessly repeating loop!
            /// </summary>
            public void Go()
            {
                try
                {
                    while (true)
                    {
                        try
                        {
                            AbstractMessage msg = connection.Read();

                            if (MessageReceived != null)
                            {
                                MessageReceivedEventArgs args = new MessageReceivedEventArgs();
                                args.Message = msg;
                                MessageReceived(inner, args);
                            }
                        }
                        catch (XmlException e)
                        {
                            if (MessageFailed != null)
                            {
                                MessageFailedEventArgs args = new MessageFailedEventArgs();
                                args.Cause = e;
                                MessageFailed(inner, args);
                            }
                        }
                    }
                }
                catch (Exception) // any exception
                {
                    new Thread(inner.InternalTerminationProcedure).Start();
                }
            }
Пример #5
0
 void chatSession_MessageFailed(object sender, MessageFailedEventArgs e)
 {
     eventQueue.Enqueue(() => OnMessageFailed(e));
 }
Пример #6
0
 /// <summary>
 /// This method will be invoked in the case of any failure in a message's delivery.
 /// </summary>
 static void MessageDeliveryFailure(object sender, MessageFailedEventArgs args)
 {
     Console.WriteLine("Message not delivered. Reason: {0}", args.MessgeFailureReason);
 }