コード例 #1
0
        private static string GetTrackingId(IDictionary <string, object> requestProperties, IDictionary <string, string> requestHeaders)
        {
            TrackingIdMessageProperty trackingIdMessageProperty;
            string trackingId;

            if (!TrackingIdMessageProperty.TryGet <TrackingIdMessageProperty>(requestProperties, out trackingIdMessageProperty))
            {
                if (!TrackingContext.TryGetHeader(requestHeaders, "TrackingId", out trackingId))
                {
                    if (!requestHeaders.ContainsKey("MessageId"))
                    {
                        Guid guid = Guid.NewGuid();
                        trackingId = TrackingContext.AppendRoleInstanceInformationToTrackingId(guid.ToString());
                        TrackingIdMessageProperty.TryAdd(requestProperties, trackingId);
                    }
                    else
                    {
                        UniqueId uniqueId    = new UniqueId(requestHeaders["MessageId"]);
                        Guid     trackingId1 = TrackingContext.GetTrackingId(uniqueId);
                        trackingId = TrackingContext.AppendRoleInstanceInformationToTrackingId(trackingId1.ToString());
                    }
                }
                TrackingIdMessageProperty.TryAdd(requestProperties, trackingId);
            }
            else
            {
                trackingId = trackingIdMessageProperty.Id;
            }
            return(trackingId);
        }
コード例 #2
0
        private static string GetSystemTracker(IDictionary <string, object> messageProperties, IDictionary <string, string> messageHeaders)
        {
            string tracker;
            SystemTrackerMessageProperty systemTrackerMessageProperty;
            string str;

            if (!SystemTrackerMessageProperty.TryGet <SystemTrackerMessageProperty>(messageProperties, out systemTrackerMessageProperty))
            {
                tracker = (!TrackingContext.TryGetHeader(messageHeaders, "SystemTracker", out str) ? string.Empty : str);
            }
            else
            {
                tracker = systemTrackerMessageProperty.Tracker;
            }
            return(tracker);
        }