一个关于C#操作消息队列的代码
2011-11-21 17:01
281 查看
这是一个关于C#操作消息队列的代码,给新手朋友学习下,并不是很难,相信大家看看就能明白的。
public class QueueManage { /// /// 发送对象到队列中 /// /// 队列名称,因为队列名称在一个应用中应该不改变的,所以大家最好写在配置文件中 /// 要发出去的对象 public static void SendQueue(string QueuePath,MyBase.SmsQueue sq) { System.Messaging.MessageQueue mqSend=new System.Messaging.MessageQueue(QueuePath,false); EnsureQueueExists(QueuePath); mqSend.Send(sq); } /// /// 检查队列,如果队列不存在,则建立 /// /// 队列名称 private static void EnsureQueueExists(string path) { if(!MessageQueue.Exists(path)) { if(!MessageQueue.Exists(path)) { MessageQueue.Create(path); MessageQueue mqTemp=new MessageQueue(path); mqTemp.SetPermissions("Everyone",System.Messaging.MessageQueueAccessRights.FullControl); ///不知道该给什么样的权限好,所以就给了Everone全部权限了,当然大家最好自己控制一下 } } } /// /// 从队列中取出对象列表 /// /// 队列名称 public static System.Collections.ArrayList GetMessage(string QueuePath) { MyBase.SmsQueue sq=new MyBase.SmsQueue(); System.Messaging.MessageQueue mq=new System.Messaging.MessageQueue(QueuePath,false); mq.Formatter=new XmlMessageFormatter(new Type[] {typeof(MyBase.SmsQueue)}); System.Messaging.Message[] arrM=mq.GetAllMessages(); mq.Close(); System.Collections.ArrayList al=new System.Collections.ArrayList(); foreach(System.Messaging.Message m in arrM) { sq=(TimeFound.SmsGate.Base.SmsQueue)m.Body; al.Add(sq); } return al; } }
相关文章推荐
- C#操作消息队列的代码开发者在线 Builder.com.cn 更新时间:2008-07-20作者: 来源:
- 最近写一个C#关于U盘的操作,在弹出U盘是遇到了些问题,C#调WINdoWs底层的东西太麻烦了,看样子要看看VC或C了
- EQueue - 一个纯C#写的分布式消息队列介绍2
- EQueue - 一个纯C#写的分布式消息队列介绍2
- C#操作消息队列
- C#操作消息队列
- C#操作消息队列
- RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列
- RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列
- 一个简单的C#消息队列示例
- 基于C#的IBM消息队列操作客户端
- 分享一个c#写的开源分布式消息队列equeue
- C# 一个自己写的树结构代码(2)-Array,HashTable,List,String数据结构操作封装
- 关于 OnCloseQuery: 顺序、不能关机等(所有的windows的广播消息都是逐窗口传递的)——如果一个窗体的OnCloseQuery事件中如果写了代码那么WM_QUERYENDSESSION消息就传不过去了msg.result会返回0,关机事件也就停止了
- 使用C#来操作消息队列
- [每天一个demo]用c#实现简单的xml操作代码
- 主线程中有多个handler的情况,只会共用一个消息队列(看代码)
- C#关于excel读写操作的一个类
- 一个关于消息队列通信的小程序
- C#操作消息队列