Exemple #1
0
 //- @TimerClock_Tick -//
 public void TimerClock_Tick(Object sender, EventArgs ea)
 {
     if (this.WindowRequestResponseSet != null)
     {
         if (this.WindowRequestResponseSet.Count > 0)//!= this.RequestCount)
         {
             lock (this.WindowRequestResponseSet)
             {
                 foreach (RequestResponseSet set in this.WindowRequestResponseSet)
                 {
                     RequestResponseSet.Add(set);
                 }
                 this.WindowRequestResponseSet.Clear();
                 //this.RequestCount = this.WindowRequestResponseSet.Count;
             }
         }
     }
 }
Exemple #2
0
        //- @Ctor -//
        public InstanceTab(Instance initInstance)
        {
            this.Instance = initInstance;
            //+
            InitializeComponent();
            //+
            if (this.RequestResponseSet == null)
            {
                this.RequestResponseSet = new ObservableCollection <RequestResponseSet>();
            }
            this.DataContext            = this;
            this.spMetadata.DataContext = this;
            spToolBox.DataContext       = this;
            gMain.DataContext           = this.RequestResponseSet;
            //+
            ICollectionView view = CollectionViewSource.GetDefaultView(this.RequestResponseSet);
            //+ filter
            String filter = String.Empty;

            view.Filter = (Object data) =>
            {
                RequestResponseSet set = (RequestResponseSet)data;
                return(FilterManager.UpdateFilter(set, filter));
            };
            //+ sort
            SortDescription dateSortDescription = new SortDescription("Request.DateTime", ListSortDirection.Descending);

            view.SortDescriptions.Add(dateSortDescription);
            //+ setup request monitor timer
            this.TimerClock           = new System.Windows.Threading.DispatcherTimer();
            this.TimerClock.Interval  = new TimeSpan(0, 0, 1);
            this.TimerClock.IsEnabled = true;
            this.TimerClock.Tick     += new EventHandler(TimerClock_Tick);
            //+
            btnLink.Content = String.Format("http://localhost:{0}{1}", this.Instance.Port, this.Instance.VirtualPath);
            //+ quick events
            txtFilter.TextChanged += delegate
            {
                filter = txtFilter.Text;
                view.Refresh();
            };
            btnClearTracing.Click += delegate
            {
                RequestResponseSet.Clear();
            };
            chkEnableTracing.Click += delegate
            {
                UpdateConfiguration();
            };
            chkVerboseTypeTracing.Click += delegate
            {
                UpdateConfiguration();
            };
            btnLink.Click += delegate
            {
                try
                {
                    System.Diagnostics.Process.Start(btnLink.Content.ToString());
                }
                catch (Exception ex)
                {
                    if (!(ex is Win32Exception))
                    {
                        throw;
                    }
                    //+
                    //+ sometimes an exception is thrown for no reason
                }
            };
            btnStopInstance.Click += delegate(Object sender, RoutedEventArgs e)
            {
                if (this.Instance.State == Instance.InstanceState.Started)
                {
                    StopInstance();
                }
                else
                {
                    StartupExistingInstance();
                }
            };
            btnKillInstance.Click += delegate(object sender, RoutedEventArgs e)
            {
                KillInstance();
            };
            btnRestartInstance.Click += new RoutedEventHandler(btnRestartInstance_Click);
        }