Example #1
0
        private void TestAllBTN_Click(object sender, EventArgs e)
        {
            try {
                if (m_running)
                {
                    throw new InvalidOperationException("A test is already running.");
                }

                ResultsCTRL.Clear();
                OkBTN.Enabled = m_running = true;
                ThreadPool.QueueUserWorkItem(new WaitCallback(DoAllTests), null);
            } catch (Exception exception) {
                GuiUtils.HandleException(this.Text, MethodBase.GetCurrentMethod(), exception);
            }
        }
Example #2
0
        /// <summary>
        /// Called when the test completes.
        /// </summary>
        public void TestComplete(object state)
        {
            if (InvokeRequired)
            {
                BeginInvoke(new WaitCallback(TestComplete), state);
                return;
            }

            try {
                ProgressCTRL.Value = ProgressCTRL.Maximum;
                ResultsCTRL.Add((PerformanceTestResult)state);
            } catch (Exception e) {
                GuiUtils.HandleException(this.Text, MethodBase.GetCurrentMethod(), e);
            }
        }
Example #3
0
        /// <summary>
        /// Saves the current results.
        /// </summary>
        private void SaveResults(string filePath)
        {
            PerformanceTestResult[] results = ResultsCTRL.GetResults();

            if (results.Length == 0)
            {
                return;
            }

            Stream       ostrm  = File.Open(filePath, FileMode.Create);
            StreamWriter writer = new StreamWriter(ostrm);

            writer.Write("Url");
            writer.Write(",Protocol");
            writer.Write(",SecurityMode");
            writer.Write(",Algorithms");
            writer.Write(",Encoding");

            foreach (KeyValuePair <int, double> result in results[0].Results)
            {
                writer.Write(",{0} Values", result.Key);
            }

            writer.Write("\r\n");

            for (int ii = 0; ii < results.Length; ii++)
            {
                EndpointDescription endpoint = results[ii].Endpoint.Description;

                Uri uri = new Uri(endpoint.EndpointUrl);

                writer.Write("{0}", uri);
                writer.Write(",{0}", uri.Scheme);
                writer.Write(",{0}", endpoint.SecurityMode);
                writer.Write(",{0}", SecurityPolicies.GetDisplayName(endpoint.SecurityPolicyUri));
                writer.Write(",{0}", (results[ii].Endpoint.Configuration.UseBinaryEncoding)?"Binary":"XML");

                foreach (KeyValuePair <int, double> result in results[ii].Results)
                {
                    writer.Write(",{0}", result.Value);
                }

                writer.Write("\r\n");
            }

            writer.Close();
            m_filePath = filePath;
        }
Example #4
0
        /// <summary>
        /// Loads previously saved results.
        /// </summary>
        private void LoadResults(string filePath)
        {
            Stream istrm = File.OpenRead(filePath);
            DataContractSerializer serializer = new DataContractSerializer(typeof(PerformanceTestResult[]));

            PerformanceTestResult[] results = (PerformanceTestResult[])serializer.ReadObject(istrm);
            istrm.Close();

            ResultsCTRL.Clear();

            foreach (PerformanceTestResult result in results)
            {
                ResultsCTRL.Add(result);
            }

            m_filePath = filePath;
        }