.Net消息队列的使用方法

  次阅读 来源:互联网(转载协议) 2016-01-26 10:49 我要评论(0)

这篇文章主要介绍了.Net消息队列的使用方法,需要的朋友可以参考下

.Net使用消息队列,借助windows组件来存储要完成的一系列任务,不用程序使用同一个队列,方便不同程序之间的数据共享和协作

以本人经验,这个在某个方面类似于session(当然还有很多方面不同),相同之处:session可以把信息存储在 aspnet_state服务中,网站重新编译或者重新启动网站,session不会丢失(session超时是正常情况,这种情况除外)。

win7中安装消息队列组件,其他操作系统请百度搜索相关资料。

如果服务没有自动启动,需要启动服务:

先创建队列,再使用队列,队列中的消息,发送一个多一个,接收一个少一个,先进先出。

码 代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Messaging;

//添加物理文件 System.Messaging 的引用

namespace testweb

{

public partial class MSMQtest : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

//CreateNewQueue("MsgQueue");//创建一个消息队列

//sendSimpleMsg();//每一个队列最好只发送和接收同一种格式的信息,不然不好转换格式。

//receiveSimpleMsg();//

//receiveSimpleMsg();

//sendComplexMsg();

//receiveComplexMsg();

MsgModel m = receiveComplexMsg<MsgModel>();

Response.Write(m.ToString());

}

private void sendSimpleMsg()

{

//实例化MessageQueue,并指向现有的一个名称为VideoQueue队列

MessageQueue MQ = new MessageQueue(@".private$MsgQueue");

//MQ.Send("消息测试", "测试消息");

System.Messaging.Message message = new System.Messaging.Message();

message.Label = "消息lable";

message.Body = "消息body";

MQ.Send(message);

Response.Write("成功发送消息," + DateTime.Now + "<br/>");

}

private void receiveSimpleMsg()

{

MessageQueue MQ = new MessageQueue(@".private$MsgQueue");

//调用MessageQueue的Receive方法接收消息

if (MQ.GetAllMessages().Length > 0)

{

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 第一批国家重点研发计划公布,旷视科技开启“五年行动”

    第一批国家重点研发计划公布,旷视科技开启“五年行动”

  • 让AI触手可及  Qualcomm携手创通联达推出全新终端侧AI开发套件

    让AI触手可及 Qualcomm携手创通联达推出全新终端侧AI开发套件

  • 品友互动为Digital Travel APAC2018 唯一受邀中国AI企业

    品友互动为Digital Travel APAC2018 唯一受邀中国AI企业

  • 长虹新款智能语音空调,告诉你空调也能玩Siri

    长虹新款智能语音空调,告诉你空调也能玩Siri

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...