酷源CMS网站集群产品交流论坛

首页 » 酷源产品服务专区 CMS->政府信息公开->网站集群系统->全文检索->远程发布->商城->OA » 『 酷源产品 教程发布区 』 » 『 KYCMS教程讨论区 』 » C#操作消息队列的代码
北京的风 - 2007-11-19 6:46:00
这是一个关于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; } }
1
查看完整版本: C#操作消息队列的代码