示例#1
0
        private MessageState SendMessageInternal(QueueMessage msg)
        {
            try
            {
                if (msg == null)
                {
                    throw new MessageException(MessageState.ArgumentsError, "QueueMessage null");
                }
                msg.Validate();

                switch (msg.MessageType)//.DistributionMode)
                {
                case MessageTypes.DirectToQueue:
                    SendDirectToQueue(msg); break;

                case MessageTypes.BatchToMailer:
                    SendBatchToQueue(msg); break;

                case MessageTypes.SplitToQueue:
                    SendSplitToQueue(msg); break;
                }

                return(MessageState.Received);
            }
            catch (MessageException mex)
            {
                Netlog.ErrorFormat("QueueProxy SendMessageInternal MessageException : {0}", mex.Message);
                return(mex.MessageState);
            }
            catch (Exception ex)
            {
                Netlog.ErrorFormat("QueueProxy SendMessageInternal Error: {0}", ex.Message);
                return(MessageState.UnExpectedError);
            }
        }