binding的使用2-netMsmqBinding

    今天来讲MSMQ在实战项目中的应用。众所周知,放了防止订单丢失,我们都是采用Order过一下MSMQ。MSMQ的优点个人认为是:先天的异步消息发送和天生的自动负载均衡。

第一步: 准备工作,安装MSMQ服务器,然后勾上下图选项,安装即可。


第二步:新建一个类库。建立两个文件IOrder.cs,Order.cs。截图如下。


第三步:新建Host的Console程序,建立App.config文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <!--设置私有的对列名-->
    <add key="queueName" value=".\private$\order"/>
  </appSettings>
  <system.serviceModel>
    <services>
      <service name="WCFMSMQSample.Order">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8733/Design_Time_Addresses/WCFMSMQSample"/>
          </baseAddresses>
        </host>
        <endpoint address="net.msmq://localhost/private/order"
                  binding="netMsmqBinding"
                  contract="WCFMSMQSample.IOrder"
                   bindingConfiguration="Nosecurity" >
          <identity>
            <dns value="localhost"/>
          </identity>
        </endpoint>
      </service>
    </services>
    <bindings>
      <netMsmqBinding>
        <binding name="Nosecurity">
          <security mode="None"></security>
        </binding>
      </netMsmqBinding>
    </bindings>
  </system.serviceModel>
</configuration>
第四步:在console程序中:①:创建队列。②: 开启服务。

最后一步:新建一个Console程序作为客户端来对MSMQ进行测试,这次我们通过“信道”的方式生成实例。

①: 让Host服务Off Line,我们插入100条Order,看msmq有什么反应。


对的,消息数量也就是我Client插入的100条订单信息,但是只是在队列中,还没写入文件中,因为还没执行消息队列。

②: 这次,我重启一下Host,让Service端 On Line。看看MSMQ又有什么反应。


是的,当MSMQ发现我的WCf已经开启,执行消息队列中的操作i,消息也就全部进去我的”1.txt“文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值