Ejemplo n.º 1
0
        protected static List<Message> FormatMessagesFromInputStream(Queue queue, System.IO.TextReader tr)
        {
            List<Message> lMessages = new List<Message>();

            System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
            doc.Load(tr);

            foreach (System.Xml.XmlNode n in doc.SelectNodes("QueueMessagesList/QueueMessage"))
            {
                Message msg = new Message()
                {
                    MessageId = Guid.Parse(n.SelectSingleNode("MessageId").InnerText),
                    InsertTime = DateTime.Parse(n.SelectSingleNode("InsertionTime").InnerText),
                    ExpirationTime = DateTime.Parse(n.SelectSingleNode("ExpirationTime").InnerText),
                    DequeueCount = int.Parse(n.SelectSingleNode("DequeueCount").InnerText),
                    Body = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(n.SelectSingleNode("MessageText").InnerText)),
                    Queue = queue
                };

                if (n.SelectSingleNode("PopReceipt") != null)
                    msg.PopReceipt = n.SelectSingleNode("PopReceipt").InnerText;

                if (n.SelectSingleNode("TimeNextVisible") != null)
                    msg.TimeNextVisible = DateTime.Parse(n.SelectSingleNode("TimeNextVisible").InnerText);

                lMessages.Add(msg);
            }

            return lMessages;
        }
Ejemplo n.º 2
0
        internal static Queue ParseFromXmlNode(AzureQueueService AzureQueueService, System.Xml.XmlNode nRoot)
        {
            Queue q = new Queue()
            {
                AzureQueueService = AzureQueueService,
                Name = nRoot.SelectSingleNode("Name").InnerText,
                Url = new Uri(nRoot.SelectSingleNode("Url").InnerText)
            };

            System.Xml.XmlNode nMeta = nRoot.SelectSingleNode("Metadata");
            if (nMeta != null)
            {
                foreach (System.Xml.XmlNode nMetaElem in nMeta.ChildNodes)
                {
                    q.Metadata[nMetaElem.Name] = nMetaElem.InnerText;
                }
            }

            return q;
        }