public static SystemTrackerHeader Read(MessageHeaders messageHeaders)
        {
            SystemTrackerHeader systemTrackerHeader;

            if (!SystemTrackerHeader.TryRead(messageHeaders, out systemTrackerHeader))
            {
                throw new ArgumentException(SRClient.SystemTrackerHeaderMissing, "messageHeaders");
            }
            return(systemTrackerHeader);
        }
Пример #2
0
        private static string GetSystemTracker(MessageProperties messageProperties, MessageHeaders messageHeaders)
        {
            string tracker;
            SystemTrackerMessageProperty systemTrackerMessageProperty;
            SystemTrackerHeader          systemTrackerHeader;

            if (!SystemTrackerMessageProperty.TryGet <SystemTrackerMessageProperty>(messageProperties, out systemTrackerMessageProperty))
            {
                tracker = (!SystemTrackerHeader.TryRead(messageHeaders, out systemTrackerHeader) ? string.Empty : systemTrackerHeader.Tracker);
            }
            else
            {
                tracker = systemTrackerMessageProperty.Tracker;
            }
            return(tracker);
        }
        public static bool TryRead(MessageHeaders messageHeaders, out SystemTrackerHeader systemTrackerHeader)
        {
            systemTrackerHeader = null;
            if (messageHeaders == null)
            {
                return(false);
            }
            int num = messageHeaders.FindHeader("SystemTracker", "http://schemas.microsoft.com/servicebus/2010/08/protocol/");

            if (num >= 0)
            {
                using (XmlDictionaryReader readerAtHeader = messageHeaders.GetReaderAtHeader(num))
                {
                    readerAtHeader.ReadStartElement();
                    systemTrackerHeader = new SystemTrackerHeader(readerAtHeader.ReadString());
                }
            }
            return(systemTrackerHeader != null);
        }