Пример #1
0
        private void OnReceiveCompleted(Object source, ReceiveCompletedEventArgs asyncResult)
        {
            try
            {
                MessageQueue mq = (MessageQueue)source;

                if (mq != null)
                {
                    try
                    {
                        System.Messaging.Message message = null;
                        try
                        {
                            message = mq.EndReceive(asyncResult.AsyncResult);
                        }
                        catch (Exception ex)
                        {
                            log.Error(ex.Message);
                        }
                        if (message != null)
                        {
                            MessageBean messageBean = message.Body as MessageBean;
                            if (messageBean != null)
                            {
                                if (messageBean.MessageType == MessageTypeEnum.FAULT)
                                {
                                    FaultFrameDecoded tmp = new FaultFrameDecoded();
                                    tmp.Parse(messageBean.Message);
                                    SingletonStatsHistory.GetInstance().AddFault(tmp);
                                    log.InfoFormat("Fault: {0}", tmp.ToString());
                                }
                                else
                                {
                                    StatusFrameDecoded tmp = new StatusFrameDecoded();
                                    tmp.Parse(messageBean.Message);
                                    SingletonStatsHistory.GetInstance().AddStatus(tmp);
                                    log.InfoFormat("Status: {0}", tmp.ToString());
                                }
                            }
                            else
                            {
                                log.Info("Message vino null");
                            }
                        }
                    }
                    finally
                    {
                        if (isRunning)
                        {
                            mq.BeginReceive();
                        }
                    }
                }
                return;
            }
            catch (Exception exc)
            {
                log.Error(exc.Message);
            }
        }
Пример #2
0
        private void CommandREQFailureReport(Connection clientConnection, Data dato)
        {
            FaultFrameDecoded message = new FaultFrameDecoded();

            message.Parse(dato.Payload.Message);
            SingletonDeviceInfoHandler.GetInstance().UpdateDeviceStatus(message);
            log.DebugFormat("Llego REQ Failure con {0}", message.ToString());
            log.DebugFormat("Notificar a server dispositivos y estadisticas");

            MessageBean messageBean = new MessageBean()
            {
                Message = dato.Payload.Message, MessageType = MessageTypeEnum.FAULT
            };

            StatisticsQueueClient.GetInstance().SendMessages(messageBean);
        }