这是一个关于C#操作消息队列的代码
给新手朋友学习下
并不是很难
相信大家看看就能明白的
public class QueueManage
{
///
/// 发送对象到队列中
///
///
队列名称因为队列名称在一个应用中应该不改变的所以大家最好写在配置文件中
///
要发出去的对象
public static void SendQueue(string QueuePathMyBaseSmsQueue sq)
{
SystemMessagingMessageQueue mqSend=new SystemMessagingMessageQueue(QueuePathfalse);
EnsureQueueExists(QueuePath);
mqSendSend(sq);
}
///
/// 检查队列如果队列不存在则建立
///
///
队列名称
private static void EnsureQueueExists(string path)
{
if(!MessageQueueExists(path))
{
if(!MessageQueueExists(path))
{
MessageQueueCreate(path);
MessageQueue mqTemp=new MessageQueue(path);
mqTempSetPermissions(EveryoneSystemMessagingMessageQueueAccessRightsFullControl);
///不知道该给什么样的权限好所以就给了Everone全部权限了当然大家最好自己控制一下
}
}
}
///
/// 从队列中取出对象列表
///
///
队列名称
public static SystemCollectionsArrayList GetMessage(string QueuePath)
{
MyBaseSmsQueue sq=new MyBaseSmsQueue();
SystemMessagingMessageQueue mq=new SystemMessagingMessageQueue(QueuePathfalse);
mqFormatter=new XmlMessageFormatter(new Type[] {typeof(MyBaseSmsQueue)});
SystemMessagingMessage[] arrM=mqGetAllMessages();
mqClose();
SystemCollectionsArrayList al=new SystemCollectionsArrayList();
foreach(SystemMessagingMessage m in arrM)
{
sq=(TimeFoundSmsGateBaseSmsQueue)mBody;
alAdd(sq);
}
return al;
}
}