using System;
using System.Messaging;
namespace MSMQ_Demo
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
string Greeting="Hello World";
MessageQueue mQ;
//存在则取原来的队列,重新发送.没有则创建队列.
if (System.Messaging.MessageQueue.Exists(@".\Private$\HelloWorld")) {
mQ=new MessageQueue(@".\Private$\HelloWorld");
}
else {
mQ=MessageQueue.Create(@".\Private$\HelloWorld");
}
mQ.Send(Greeting,"HelloWorld");
Console.WriteLine("Greeting Message Send To Private Queue,可以通过计算机管理看到此队列");
Console.WriteLine("开始接收消息");
Message mes;
string x;
System.IO.BinaryReader br;
if (MessageQueue.Exists(@".\Private$\HelloWorld")) {
mQ=new MessageQueue(@".\Private$\HelloWorld");
}
else {
Console.WriteLine("Queue doesn't exist.");
return;
}
try {
mes=mQ.Receive(new TimeSpan(0,0,3));
br=new System.IO.BinaryReader(mes.BodyStream);
x=new string(br.ReadChars((int)mes.BodyStream.Length));
Console.WriteLine("Received Message:{0}",x);
}
catch {
Console.WriteLine("No Message to Receive.");
}
}
}
}
.Net有三种消息队列,这是其中一种.只是测试了一下好不好用,至于其它相关知识要更系统的学习才行.消息队列可以作为基于松散耦合消息的应用程序间的通讯机制.
转载于:https://www.cnblogs.com/fxwdl/archive/2006/08/08/471255.html