本文为大家分享了净msmq消息队列实例代码,供大家参考,具体内容如下
1.msmq消息队列窗子环境安装
控制面板- 》程序和功能- 》启用或关闭Windows操作系统操作系统程序-》微软消息队列(MSMQ)服务器
选中如图所示功能点击"确认"进行安装,安装好后可在"计算机管理"中进行查看
2.创建消息队列实体对象
///摘要///消息实体////摘要[Serializable]公共类MsmqData { public int Id { get设置;}公共字符串名称{获取设置;} }实体对象必须可序列化,即需添加[可序列化]
3.创建消息队列管理对象
///摘要///消息队列管理对象////摘要公共类MSMQManager { ///摘要///消息队列地址////摘要公共字符串_路径///摘要///消息队列对象////summary public MessageQueue _ msmq;///摘要///构造函数并初始化消息队列对象////summary////param name=' path '/param public MSMQManager(字符串路径=null) { if(字符串IsNullOrEmpty(path)){ _ path=配置管理器.AppSettings['MsmqPath'].ToString();} else { _ path=path } if(MessageQueue .exists(_ path)){ _ msmq=new MessageQueue(_ path);} else { _msmq=MessageQueue .创建(_ path);} } ///摘要///发送消息队列////summary///param name=' body '/param public void Send(对象体){ _msmq .发送(新消息(正文,新XmlMessageFormatter(新类型[]{类型为(MsmqData)}))));} ///摘要///接受队列中第一个消息后删除////summary////returns/returns public object receive message(){ var msg=_ msmq .receive();如果(味精!=null) { //msg .formatter=新的二进制message formatter();味精格式化程序=新的XmlMessageFormatter(新类型[]{类型为(MsmqData)});var body=(MsmqData)msg .身体;控制台WriteLine(“”消息内容:{0},{1},正文。身份证,尸体。名称);返回消息。身体;}返回null }////摘要///遍历消息队列中的消息并删除////summary public void writelmessage(){ var enumerator=_ msmq .getmessageenumentor 2();而(枚举器MoveNext()){ 0消息消息=(消息)(枚举器。当前);//msg .formatter=新的二进制message formatter();味精格式化程序=新的XmlMessageFormatter(新类型[]{类型为(MsmqData)});var body=(MsmqData)msg .身体;控制台WriteLine(“”消息内容:{0},{1},正文。身份证,尸体。名称);//根据消息身份查询并删除消息队列_msmq .ReceiveById(消息. id);} } }此例中使用可扩展置标语言格式(XmlMessageFormtter)对消息进行格式化
4.主程序添加调用消息队列
static void Main(string[]args){ var msmqManager=new msmqManager();for(int I=1;I=10I){ MsmqData data=new MsmqData(){ Id=I,Name=string .格式(' Name{0} ',I)};//发送消息msmqManager .发送(数据);} var msg=msmqManager .接收消息();msmqManager .writelmessage();控制台ReadLine();}添加消息队列地址配置,本例使用私有队列
appSettings添加键=' MSMQPATH '值=' . private $ my queue//app settings 5 .运行程序查看结果
可以在发送完消息后打上断点查看消息队列消息正文
最后运行结果
6.常见消息队列类型路径的语法
队列类型路径中使用的语法
公共队列机器名队列名
专用队列机器名专用$ 队列名
日志队列机器名队列名日志$
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。