Exemplo n.º 1
0
        protected void AddMessageAudit(Message msg, string subQueueName = null, Exception ex = null)
        {
            if (!AuditActivity)
            {
                return;
            }

            using (var transaction = new TransactionScope(
                       TransactionScopeOption.Required,
                       new TransactionOptions {
                IsolationLevel = IsolationLevel.ReadCommitted
            }))
            {
                var messageAudit = new MessageAudit
                {
                    MessageId      = msg.Id,
                    MessageStatus  = MessageStatus.AwaitingProcessing,
                    CorrelationId  = msg.CorrelationId,
                    QueueName      = null == subQueueName ? QueueName : string.Format("{0};{1}", QueueName, subQueueName),
                    QueuePath      = null == subQueueName ? QueuePath : string.Format("{0};{1}", QueuePath, subQueueName),
                    MessageContent = GetMessageXml(msg)
                };
                var newId = MessageQueueService.CreateMessageAudit(messageAudit);
                if (null != ex)
                {
                    var processingError = new MessageProcessingError
                    {
                        MessageAuditId = newId, Error = ex.Message, StackTrace = ex.StackTrace, TmStamp = DateTime.Now
                    };
                    MessageQueueService.CreateMessageAuditException(processingError);
                }

                transaction.Complete();
            }
        }
Exemplo n.º 2
0
        public void CreateLog(int userId, string message)
        {
            var entityContext = new EntityContext();
            var messageAudit  = new MessageAudit();

            messageAudit.Time    = DateTimeOffset.Now;
            messageAudit.UserId  = userId;
            messageAudit.Message = message;

            entityContext.MessageAudits.Add(messageAudit);
            entityContext.SaveChanges();
        }
Exemplo n.º 3
0
        /// <summary>
        /// Helper function used to create an instance of the Neuron ESB Audit service so message failures when publishing to the bus can be forwared
        /// to the Neuron Audit database
        /// </summary>
        /// <returns></returns>
        private bool ConnectAuditService()
        {
            bool retVal = false;

            // if auditing is enabled
            if (AuditOnFailurePublish && this._adapterMode.ModeName.Equals(AdapterModeStringConstants.Publish))
            {
                try
                {
                    if (MessageAuditService == null)
                    {
                        MessageAuditService = new MessageAudit();
                        MessageAuditService.Connect(Configuration);
                    }
                    retVal = true;
                }
                catch (Exception ex)
                {
                    RaiseAdapterError(ErrorLevel.Error, "Failed to create Audit Service", ex);
                }
            }

            return(retVal);
        }