WCF-NetMsmq(其实是WCF-WCF的通信,MSMQ在此只起到在连接不稳定时让通信更稳定的效果)

来源:互联网 发布:淘宝客服提成怎么算 编辑:程序博客网 时间:2024/04/29 13:24

介绍

  WCF(Windows Communication Foundation) - 消息队列(MSMQ - MicroSoft Message Queue):

  netMsmqBinding的binding属性配置如下:

  ·ExactlyOnce - 确保消息只被投递一次。只能应用于事务型队列,默认值 ture

  ·Durable - 消息是否需要持久化。默认值 enabled,如果设置为disable,当MSMQ服务重启后,先前保存在MSMQ中的消息将会丢失

  ·TimeToLive - 消息过期并且从原有的队列移动到死信队列的时间。默认值 1.00:00:00 (1天)

  ·ReceiveRetryCount - 配置队列管理器在一定重试间隔中,尝试重新投递消息的次数,也就是将消息传输到重试队列前尝试发送该消息的最大次数(每隔RetryCycleDelay的时间重试ReceiveRetryCount次)。缺省值 5

  ·MaxRetryCycles - 配置队列管理器重新投递消息的重试间隔数(执行RetryCycleDelay的次数),也就是重试最大周期数。缺省值 2

  ·RetryCycleDelay - 表示两次重试之间的间隔时间,也就是重试周期之间的延迟。缺省值 00:30:00

  ·ReceiveErrorHandling - 指定如何处理错误的消息。Fault、Drop、Reject或Move(具体说明查MSDN)

  ·DeadLetterQueue - 指定所使用的死信队列的类型。None、System、或Custom(具体说明查MSDN)

  ·CustomDeadLetterQueue - 本地自定义死信队列的URI

  示例

  1、服务

  IMSMQ.cs

 

 

MSMQ.cs

2、宿主

 

  MSMQ.cs

App.config

3、客户端

  MSMQ.cs

App.config

运行结果:

  客户端调用时,如果没有启动服务端,那么消息会进入到消息队列中。等到服务端启动后,会执行消息队列中的所有消息。

 

原创粉丝点击