Example #1
0
        protected void Test()
        {
            CreateNewQueue("MsgQueue"); //创建一个消息队列
            sendSimpleMsg();            //每一个队列最好只发送和接收同一种格式的信息,不然不好转换格式。
            receiveSimpleMsg();         //

            //sendComplexMsg();
            //receiveComplexMsg();
            MsgModel m = receiveComplexMsg <MsgModel>();

            Console.WriteLine(m.ToString());
        }
Example #2
0
 /// <summary>
 /// 接受复杂消息
 /// </summary>
 public void receiveComplexMsg()
 {
     //MessageQueue MQ = new MessageQueue(@".\private$\MsgQueue");
     //调用MessageQueue的Receive方法接收消息
     if (MQ.GetAllMessages().Length > 0)
     {
         System.Messaging.Message message = MQ.Receive(TimeSpan.FromSeconds(5));
         if (message != null)
         {
             //message.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(MsgModel) });//消息类型转换
             message.Formatter = new BinaryMessageFormatter();
             MsgModel msg = (MsgModel)message.Body;
             Console.WriteLine(string.Format("接收消息成功,lable:{0},body:{1},{2}", message.Label, msg, DateTime.Now));
         }
     }
     else
     {
         Console.WriteLine("没有消息了!");
     }
 }