1. 专用队列
private void button1_Click(object sender, RoutedEventArgs e)
{
//在指定路径上创建一个消息队列的引用
MessageQueue mq = new MessageQueue(".\\Private$\\MSMQDemo");
//创建消息
Message msg = new Message();
msg.Body = textBox1.Text;
//设置序列化器
msg.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) });
mq.Send(msg);
}
private void button2_Click(object sender, RoutedEventArgs e)
{
MessageQueue mq = new MessageQueue(".\\Private$\\MSMQDemo");
Message msg = mq.Receive();
//设置序列化器
msg.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) });
textBox2.Text = msg.Body.ToString();
}
2. 公用队列
private void button1_Click(object sender, RoutedEventArgs e)
{
Info o = new Info();
o.ID = "1";
o.Name = "yo";
PublicMsmq(o);
}
private void button2_Click(object sender, RoutedEventArgs e)
{
MessageQueue mq = new MessageQueue(".\\YoMQ");
Message msg = mq.Receive();
msg.Formatter = new XmlMessageFormatter(new Type[] { typeof(Info) });
Info o = msg.Body as Info;
textBox2.Text = o.ID + o.Name;
}
public void PublicMsmq(Info info)
{
MessageQueue mq = new MessageQueue(".\\YoMQ");
Message msg=new Message();
msg.Body=info;
msg.Formatter = new XmlMessageFormatter(new Type[] { typeof(Info) });
mq.Send(msg);
}
}
public class Info
{
public string ID { get; set; }
public string Name { get; set; }
}
3. 队列标签
MessageQueue mq = new MessageQueue(".\\YoMQ");
Console.WriteLine(mq.Label);
//该队列的ID
Console.WriteLine(mq.FormatName);
Console.WriteLine(mq.Category.ToString());
//MachineName 属性不支持 IP 地址格式。
Console.WriteLine(mq.MachineName);
Console.WriteLine(mq.QueueName);
Console.WriteLine(mq.Path);
Console.ReadKey();
}
}
public class Info
{
public string ID { get; set; }
public string Name { get; set; }
}