Пример #1
0
        public void ManageTrafficWebRequest(TrafficWebRequest item)
        {
            if (item.ApplicationIdentity.Equals(GuiModelData.SelectedApplicationIdentity))
            {
                GuiModelData.RelatedTrafficWebRequests.Add(item);
            }
            _localTrafficWebRequest.Add(item);

            PluginContext.NotifyPluginsHost(NotificationType.Update, 1);
            UpdateAppIdentityNotificationsCount(item.ApplicationIdentity);
        }
Пример #2
0
        protected void UpdateMultipleContextPerRequestInfo(Context item)
        {
            if (item.HttpContextCurrentId == null)
            {
                return;
            }

            var contexts = PluginContext.ProfilerData.Contexts.Where(
                x => x.HttpContextCurrentId != null &&
                x.ApplicationIdentity.Equals(item.ApplicationIdentity) &&
                x.HttpContextCurrentId.Value == item.HttpContextCurrentId.Value)
                           .ToList();

            if (contexts.Count < 2)
            {
                return;
            }

            var trafficWebRequest = PluginContext.ProfilerData.TrafficWebRequests
                                    .FirstOrDefault(x => x.HttpContextCurrentId == item.HttpContextCurrentId.Value &&
                                                    x.ApplicationIdentity.Equals(item.ApplicationIdentity));

            if (trafficWebRequest == null)
            {
                var webRequest = new TrafficWebRequest
                {
                    HttpContextCurrentId = item.HttpContextCurrentId.Value,
                    ApplicationIdentity  = item.ApplicationIdentity
                };
                foreach (var context in contexts)
                {
                    webRequest.Contexts.Add(context);
                }
                PluginContext.ProfilerData.TrafficWebRequests.Add(webRequest);
            }
            else
            {
                foreach (var context in contexts.Where(context =>
                                                       !trafficWebRequest.Contexts.Any(
                                                           x => context.HttpContextCurrentId != null &&
                                                           x.HttpContextCurrentId != null &&
                                                           x.HttpContextCurrentId.Value == context.HttpContextCurrentId.Value)))
                {
                    trafficWebRequest.Contexts.Add(context);
                }
            }
        }