在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
系统: Windows XP 1.安装MSMQ 控制面板—>添加安装程序 2. 配置MSMQ 右键点击新建MQ,属性,可以看到其完整访问路径 3.好了,新建一个ASP.net 的应用程序,并添加引用System.Messaging ,编写代码如下 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Configuration; using System.Messaging; namespace WebAppTestMSMQ { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { txtPath.Text = ConfigurationManager.AppSettings["path"].ToString(); } protected void Button1_Click(object sender, EventArgs e) { //完整队列格式为: 计算机名\private$\队列名称 (专用队列) MessageQueue mq = new MessageQueue(txtPath.Text.Trim()); System.Messaging.Message msg = new System.Messaging.Message(); msg.Body = txtSend.Text.Trim() + " " + DateTime.Now.ToString(); //消息格式为string msg.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) }); try { mq.Send(msg); } catch (Exception ex) { } } protected void Button2_Click(object sender, EventArgs e) { MessageQueue mq = new System.Messaging.MessageQueue(txtPath.Text.Trim()); //同步接收,直到得到一条消息为止,如果消息队列为空,会一直阻塞 System.Messaging.Message msg = mq.Receive(); msg.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) }); this.txtReceive.Text = "[" + DateTime.Now.ToString() + "]: " + msg.Body.ToString(); } } } 其中配置文件中的路径就是之前看到的位置,前面的计算机名也可以是ip地址 F5,运行程序,在发送信息框中输入信息,点击发送,将消息发送到队列,再点击获取消息按钮,从队列中获取消息。 消息的接收又分成同步和异步方式两种,同步接收在规定时间内从消息队列中取出收到的第一条消息,当消息队列中没有消息时,程序处于等待状态;异步接收方式则是定义了一个事件处理函数,当消息队列中第一个消息到达时立即触发该函数。 在计算机管理中,可以查看队列中的内容 关于队列的属性 源代码:msmqtest.rar
博客园有一位博友写的很好的,一定要看看: |
请发表评论