⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 02usequeue.aspx.cs

📁 C#下的消息处理DEMO,很完整,对于初学者了解消息处理机制很有帮助.
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Messaging;
namespace ASPNETMSMQ
{
	/// <summary>
	/// UseQueue 的摘要说明。
	/// </summary>
	public class UseQueue : System.Web.UI.Page
	{
		protected System.Messaging.MessageQueue helpRequestQueue;
		protected System.Web.UI.WebControls.Label Label1;
		protected System.Web.UI.WebControls.Label Label2;
		protected System.Web.UI.WebControls.Button btnSend;
		protected System.Web.UI.WebControls.Button btnFresh;
		protected System.Web.UI.WebControls.Button btnDele;
		protected System.Web.UI.WebControls.DataGrid dgMessage;
		protected System.Web.UI.WebControls.TextBox txtMessage;
		protected System.Web.UI.WebControls.TextBox txtName;
		protected System.Web.UI.WebControls.CheckBox highPriority;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.helpRequestQueue = new System.Messaging.MessageQueue();
			// 
			// helpRequestQueue
			// 
			this.helpRequestQueue.MessageReadPropertyFilter.Priority = true;
			this.helpRequestQueue.Path = "shaozhd\\Private$\\HelpRequest ";
			this.btnSend.Click += new System.EventHandler(this.btnSend_Click);
			this.btnFresh.Click += new System.EventHandler(this.btnFresh_Click);
			this.btnDele.Click += new System.EventHandler(this.btnDele_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void btnSend_Click(object sender, System.EventArgs e)
		{
			Message theMessage = new Message(txtMessage.Text);
			theMessage.Label = txtName.Text;
      
			if (highPriority.Checked)
				theMessage.Priority = MessagePriority.Highest;
			else
				theMessage.Priority = MessagePriority.Normal;
			helpRequestQueue.Send(theMessage);
			DisplayMessages();
		}
		private void DisplayMessages()
		{
			DataTable messageTable = new DataTable();
			messageTable.Columns.Add("Name");
			messageTable.Columns.Add("Message");
			messageTable.Columns.Add("Priority");
			Message[] messages;
			messages = helpRequestQueue.GetAllMessages();
			XmlMessageFormatter stringFormatter;
			stringFormatter = new XmlMessageFormatter(new string[] {"System.String"});
			for (int index = 0; index < messages.Length; index++) 
			{
				messages[index].Formatter = stringFormatter;
				messageTable.Rows.Add(new string[] {
													   messages[index].Label,
													   messages[index].Body.ToString(),
													   messages[index].Priority.ToString() });
			}
			dgMessage.DataSource = messageTable;
			dgMessage.DataBind();
		}

		private void btnFresh_Click(object sender, System.EventArgs e)
		{
			DisplayMessages();
		}

		private void btnDele_Click(object sender, System.EventArgs e)
		{
			helpRequestQueue.Purge();
			DisplayMessages();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -