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"; }
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."; } }
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."; } }
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"; }
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."; }