HuangPeng

暂无签名

  • 博客访问: 216229
  • 博文数量: 286
  • 用 户 组: 普通用户
  • 注册时间: 1970-01-01 08:00
个人简介

鏆傛棤浠嬬粛

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(286)

文章存档

2007年(195)

2006年(68)

2004年(23)

我的朋友
微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

分类: 微软技术

辅助线程

  首先需要构建封装所有线程工作的 MQListen 类。将下列代码插入 MQListen 中。

// C#
public class MQListen
{
private string m_MachineName;
private string m_QueueName;

// 构造函数接收必要的队列信息。
public MQListen(string MachineName, string QueueName)
{
m_MachineName = MachineName;
m_QueueName = QueueName;
}

// 每个线程用来侦听 MQ 消息的一种唯一方法
public void Listen()
{
// 创建一个 MessageQueue 对象。
System.Messaging.MessageQueue MQ = new
System.Messaging.MessageQueue();

// 设置 MessageQueue 对象的路径属性。
MQ.Path = m_MachineName + "private$" + m_QueueName;

// 创建一个 Message 对象。
System.Messaging.Message Message = new
System.Messaging.Message();
// 重复上述步骤,直到收到中断。
while (true)
{
try
{
// 休眠以在中断发出时捕捉中断。
System.Threading.Thread.Sleep(100);
// 将 Message 对象设置为与接收函数的结果相等。
// 持续时间(天、小时、分钟、秒)。
Message = MQ.Receive(new TimeSpan(0, 0, 0, 1));

// 显示已接收消息的标签
System.Windows.Forms.MessageBox.Show(" Label: " + Message.Label);

}
catch (ThreadInterruptedException e)
{
// 从主线程捕捉 ThreadInterrupt 并退出。
Console.WriteLine("Exiting Thread");
Message.Dispose();
MQ.Dispose();
break;
}
catch (Exception GenericException)
{
// 捕捉接收过程中抛出的所有异常。
Console.WriteLine(GenericException.Message);
}
}
}
}

[@more@]
阅读(1138) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册