VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • C#教程之队列工厂之(MSMQ)(2)

61 var message = new Message(); 62 message.Body = content; 63 message.Label = name; 64 _msmq.Send(message); 65 return true; 66 } 67 catch (Exception ex) 68 { 69 throw new Exception(ex.Message); 70 } 71 } 72 73 public void Dispose() 74 { 75 if (_msmq != null) 76 { 77 _msmq.Close(); 78 _msmq.Dispose(); 79 _msmq = null; 80 } 81 } 82 }
复制代码

到这里我们的MSMQ简单封装代码已经完成了,咋们再来通过控制台调用下这个队列客户端代码

复制代码
 1  class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             Client();
 6         }
 7 
 8         /// <summary>
 9         /// 客户端
10         /// </summary>
11         private static void Client()
12         {
13             //实例化QMsmq对象
14             var msmq = QueueReposity<QMsmq>.Current;
15             try
16             {
17                 Console.WriteLine("创建:msmq");
18                 msmq.Create();
19 
20                 while (true)
21                 {
22                     try
23                     {
24                         var result = msmq.Read();
25                         Console.WriteLine(string.Format("接受第{0}个:{1}", result.Label, result.Body));
26                     }
27                     catch (Exception ex)
28                     { Console.WriteLine("异常信息:" + ex.Message); }
29                 }
30             }
31             catch (Exception ex)
32             {
33                 throw ex;
34             }
35             finally
36             {
37                 Console.WriteLine("释放。");
38                 msmq.Dispose();
39             }
40         }
41     }
复制代码

这里能够看出客户端代码中使用MSMQ步骤主要有:QueueReposity<QMsmq>.Current工厂创建自定义队列实例-》Create()创建-》Read()读取-》Dispose()释放mq,流程还算清晰吧;如下服务端代码:

复制代码
 1  class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             Server();
 6         }
 7 
 8         /// <summary>
 9         /// 服务端
10         /// </summary>
11         private static void Server()
12         {
13             //实例化QMsmq对象
14             var msmq = QueueReposity<QMsmq>.Current;
15 
16             try
17             {
18                 Console.WriteLine("创建:msmq");
19                 msmq.Create();
20 
21                 var num = 0;
22                 do
23                 {
24                     Console.WriteLine("输入循环数量(数字,0表示结束):");
25                     var readStr = Console.ReadLine();
26                     num = string.IsNullOrWhiteSpace(readStr) ? 0 : Convert.ToInt32(readStr);
27 
28                     Console.WriteLine("插入数据:");
29                     for (int i = 0; i < num; i++)
30                     {
31                         var str = "我的编号是:" + i;
32                         msmq.Write(str, i.ToString());
33                         Console.WriteLine(str);
34                     }
35                 } while (num > 0);
36             }
37             catch (Exception ex)
38             {
39             }
40             finally
41             {
42                 Console.WriteLine("释放。");
43                 msmq.Dispose();
44             }
45             Console.ReadLine();
46         }
47     }
复制代码

服务端的步骤几乎和客户端差不多,区别在于一个读取一个写入,服务端步骤:QueueReposity<QMsmq>.Current工厂创建自定义队列实例-》Create()创建-》Write()写入-》Dispose()释放mq;以上对MSMQ的代码分享和环境搭建讲解,希望能给您带来好的帮助,谢谢阅读;

git地址: https://github.com/shenniubuxing3    云栖社区博客:https://yq.aliyun.com/u/shenniu003


相关教程
关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们       黑ICP备07002182号