public static void addMessageToPoisonQueue(Exception error, Notification.Domain.GroupMessages group, String poisonQueue = "") { if (String.IsNullOrEmpty(poisonQueue)) { poisonQueue = System.Configuration.ConfigurationManager.AppSettings["PoisonErrorsQueueName"]; } if (null != error && !String.IsNullOrEmpty(poisonQueue)) { MessageQueue poisonMessageQueue = new MessageQueue(poisonQueue); if (poisonMessageQueue != null) { using (TransactionScope txScope = new TransactionScope(TransactionScopeOption.RequiresNew)) { ErrorNotificationGroupMessages obj = new ErrorNotificationGroupMessages() { Group = group }; obj.Error.HelpLink = error.HelpLink; obj.Error.StackTrace = error.StackTrace; obj.Error.Source = error.Source; obj.Error.Message = error.Message; obj.Error.InnerException = (error.InnerException == null) ? "" : error.InnerException.Message; poisonMessageQueue.Send(obj, MessageQueueTransactionType.Single); txScope.Complete(); } } } }
/// <summary> /// /// </summary> /// <param name="message">message </param> /// <param name="poisonQueue">queue name</param> public static void addMessageToPoisonQueue(Notification.Domain.GroupMessages group, String poisonQueue = "") { if (String.IsNullOrEmpty(poisonQueue)) { poisonQueue = System.Configuration.ConfigurationManager.AppSettings["PoisonErrorsQueueName"]; } if (null != group && !String.IsNullOrEmpty(poisonQueue)) { MessageQueue poisonMessageQueue = new MessageQueue(poisonQueue); if (poisonMessageQueue != null) { using (TransactionScope txScope = new TransactionScope(TransactionScopeOption.RequiresNew)) { ErrorNotificationGroupMessages obj = new ErrorNotificationGroupMessages() { Group = group }; poisonMessageQueue.Send(obj, MessageQueueTransactionType.Single); txScope.Complete(); } } } }