环境要求
示例代码
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6
7 using System.Messaging;
8
9 namespace MSMQStudy
10 {
11 class Program
12 {
13 static void Main(string[] args)
14 {
15 string mqName = "test";
16
17 CreaetPrivateMessageQueue(mqName);
18
19 SendMessage(mqName, "hello,world");
20
21 ReceiveMessage(mqName);
22 }
23
24 private static void CreaetPrivateMessageQueue(string mqName)
25 {
26 var path = CreateMessageQueuePath(mqName);
27
28 if (!MessageQueue.Exists(path))
29 {
30 MessageQueue.Create(path);
31 }
32 }
33
34 private static string CreateMessageQueuePath(string mqName)
35 {
36 return string.Format(".\\private$\\{0}", mqName);
37 }
38
39 private static void SendMessage(string mqName, string content)
40 {
41 var path = CreateMessageQueuePath(mqName);
42
43 var mq = new MessageQueue(path);
44
45 mq.Send(content);
46 }
47
48 private static void ReceiveMessage(string mqName)
49 {
50 var path = CreateMessageQueuePath(mqName);
51
52 var mq = new MessageQueue(path);
53
54 mq.Formatter = new XmlMessageFormatter(new Type[] { typeof(string) });
55
56 for (var message = mq.Receive(); message != null; message = mq.Receive())
57 {
58 Console.WriteLine(message.Body);
59 }
60 }
61 }
62 }