• MSMQ使用小计


    1、远程服务端通过工具创建专有队列(客户端不支持通过代码创建队列并且无法在客户端判断队列是否创建,也无法判断队列是否使用事务性)

    2、客户端安装msmq服务

      控制面板所有控制面板项程序和功能打开或关闭Windows功能MSMQ服务器(勾选所有功能)

    3、引用System.Messaging

    4、客户端远程推送消息到服务端

      //使用IP

      MessageQueue mq = new MessageQueue(@"FormatName:DIRECT=TCP:192.168.10.129private$paymessagequeue");    

      //使用机器名

       MessageQueue mq = new MessageQueue(@"FormatName:DIRECT=OS:远程主机名private$paymessagequeue");

      mq.Send("Sending MSMQ private message");

     注意: FormatName 是表达式里唯一区分大小写的部分。其他部分可以随意使用大小写

    5、客户端远程读取消息

      using (MessageQueue mq = new MessageQueue(@"FormatName:DIRECT=TCP:192.168.10.129private$paymessagequeue"))               

         {                   

          //设置消息队列的格式化器,

           mq.Formatter = new XmlMessageFormatter(new Type[] { typeof(MessageEntity) });  

           //返回并移除此队列中的第一条消息       

           //Message firstmsg = mq.Receive(); 

           //返回但不移除此队列中的第一条消息              

           Message firstmsg = mq.Peek();

           //设置消息的格式化器                   

           firstmsg.Formatter = new XmlMessageFormatter(new Type[] { typeof(MessageEntity) });                   

           MessageEntity entity=firstmsg.Body as MessageEntity;

           Console.WriteLine("Received The first Private Message is: {0}",entity.Body.NotifyUrl);               

        }

  • 相关阅读:
    记一次百度面试题
    深度拷贝对象
    spring boot 学习笔记
    mac Zip 常用命令
    Mac OS 终端下使用 Curl 命令下载文件
    懒人必备的移动端定宽网页适配方案
    前端面试题之 sum(2)(3) (链式调用,toString,柯里化,数组操作)
    web上的复制
    fileupload上传文件时带参数
    Mac下Nginx环境配置
  • 原文地址:https://www.cnblogs.com/zcz527/p/7065915.html
Copyright © 2020-2023  润新知