コード例 #1
0
ファイル: frmReadMSMQ.cs プロジェクト: robson-gilli/QPT
        private async void btnReadAll_Click(object sender, EventArgs e)
        {
            label1.Text = "Processing...";
            txtResult.Text = "";
            MSMQHandler.MSMQHandler mh = new MSMQHandler.MSMQHandler(System.Configuration.ConfigurationManager.AppSettings["MSMQPath"]);
            StringBuilder s = new StringBuilder();

            TimeSpan inicio = new TimeSpan(DateTime.Now.Ticks);
            List<Tuple<string, string>> messages = await mh.ReadQueueAsync();
            if (messages.Count() > 0)
            {
                TimeSpan fim = new TimeSpan(DateTime.Now.Ticks);
                s.Append("=================================\r\n");
                s.Append("READING...\r\n");
                s.Append("=================================\r\n");
                s.Append("Inicio: " + inicio.ToString() + "\r\n");
                s.Append("=================================\r\n");
                s.Append("Fim: " + fim.ToString() + "\r\n");
                s.Append("=================================\r\n");
                s.Append("Tempo Total: " + (fim - inicio).ToString() + "\r\n");
                s.Append("=================================\r\n");
                s.Append("Total Msg: " + messages.Count() + "\r\n");
                s.Append("=================================\r\n");

                foreach (Tuple<string, string> t in messages)
                {
                    s.Append(t.Item1 + " - at " + t.Item2 + "\r\n");
                }
                txtResult.Text = s.ToString();
            }
            label1.Text = "Completed";
        }
コード例 #2
0
ファイル: frmWriteMSMQ.cs プロジェクト: robson-gilli/QPT
        private async void btnWriteSync_Click(object sender, EventArgs e)
        {
            if (!double.IsNaN(double.Parse(txtNrThreads.Text.Trim())))
            {
                int total = Int32.Parse(txtNrThreads.Text.Trim());

                lblProcessing.Text = "Processing...";

                MSMQHandler.MSMQHandler mh = new MSMQHandler.MSMQHandler(System.Configuration.ConfigurationManager.AppSettings["MSMQPath"]);

                TimeSpan inicio = new TimeSpan(DateTime.Now.Ticks);
                txtResult.Text += "==== Sync Output ==== Message size: " + cmbMessageSize.Text + " ==== # Threads: " + txtNrThreads.Text + "  \r\n";
                txtResult.Text += "Inicio: " + inicio.ToString() + "\r\n";
                string message = GetMessage();

                for (int i = 0; i < total; i++)
                {
                    mh.WriteToQueue(message, "test_" + i.ToString(), i);
                }

                TimeSpan fim = new TimeSpan(DateTime.Now.Ticks);

                txtResult.Text += "Fim: " + fim.ToString() + "\r\n";
                txtResult.Text += "Total: " + (fim - inicio).ToString() + "\r\n";

                lblProcessing.Text = "Completed.";
            }
        }
コード例 #3
0
ファイル: frmWriteMSMQ.cs プロジェクト: robson-gilli/QPT
        private async void btnWriteTask_Click(object sender, EventArgs e)
        {
            if (!double.IsNaN(double.Parse(txtNrThreads.Text.Trim())))
            {
                int total = Int32.Parse(txtNrThreads.Text.Trim());

                lblProcessing.Text = "Processing...";

                MSMQHandler.MSMQHandler mh = new MSMQHandler.MSMQHandler(System.Configuration.ConfigurationManager.AppSettings["MSMQPath"]);
                string message = GetMessage();

                TimeSpan inicio = new TimeSpan(DateTime.Now.Ticks);
                txtResult.Text += "==== Async Output ==== Message size: " + cmbMessageSize.Text + " ==== # Threads: " + txtNrThreads.Text + "  \r\n";
                txtResult.Text += "Inicio: " + inicio.ToString() + "\r\n";

                //Task[] taskList = new Task[total];
                //for (int i = 0; i < total; i++)
                //{
                //    taskList[i] = mh.WriteToQueueAsync(message, "test_" + i.ToString(), i);
                //}
                //await Task.WhenAll(taskList);

                Task[] tasklist = new Task[total];
                for (int i = 0; i < total; i++)
                {
                    int idx = i;
                    tasklist[idx] = Task.Run(() =>
                    {
                        mh.WriteToQueue(message, "test_" + idx.ToString(), idx);
                    });
                }
                await Task.WhenAll(tasklist);


                TimeSpan fim = new TimeSpan(DateTime.Now.Ticks);

                txtResult.Text += "Fim: " + fim.ToString() + "\r\n";
                txtResult.Text += "Total: " + (fim - inicio).ToString() + "\r\n"; 

                lblProcessing.Text = "Completed.";
            }
        }
コード例 #4
0
ファイル: frmReadMSMQ.cs プロジェクト: robson-gilli/QPT
        private async void btnPeek_Click(object sender, EventArgs e)
        {
            label1.Text = "Processing...";
            txtResult.Text = "";
            if (txtId.Text.Trim() != String.Empty)
            {
                MSMQHandler.MSMQHandler mh = new MSMQHandler.MSMQHandler(System.Configuration.ConfigurationManager.AppSettings["MSMQPath"]);
                StringBuilder s = new StringBuilder();

                TimeSpan inicio = new TimeSpan(DateTime.Now.Ticks);
                string message = await mh.PeekMessage(txtId.Text.Trim());
                if (message != String.Empty)
                {
                    TimeSpan fim = new TimeSpan(DateTime.Now.Ticks);
                    s.Append("=================================\r\n");
                    s.Append("PEEKING MESSAGE: " + txtId.Text.Trim() + "\r\n");
                    s.Append("=================================\r\n");
                    s.Append("Inicio: " + inicio.ToString() + "\r\n");
                    s.Append("=================================\r\n");
                    s.Append("Fim: " + fim.ToString() + "\r\n");
                    s.Append("=================================\r\n");
                    s.Append("Tempo Total: " + (fim - inicio).ToString() + "\r\n");
                    s.Append("=================================\r\n");
                    s.Append(message);
                    txtResult.Text = s.ToString();
                }
            }
            label1.Text = "Completed";
        }
コード例 #5
0
ファイル: frmWriteMSMQ.cs プロジェクト: robson-gilli/QPT
        private async void btnPurge_Click(object sender, EventArgs e)
        {
            lblProcessing.Text = "Processing...";

            MSMQHandler.MSMQHandler mh = new MSMQHandler.MSMQHandler(@".\private$\QueueTest");
            await mh.PurgeAsync();
            txtResult.Clear();
            lblProcessing.Text = "Completed.";
        }