MsmqElementBase.DeadLetterQueue 属性

定义

获取或设置一个枚举值,该值指示要使用的死信队列的类型。

public:
 property System::ServiceModel::DeadLetterQueue DeadLetterQueue { System::ServiceModel::DeadLetterQueue get(); void set(System::ServiceModel::DeadLetterQueue value); };
[System.Configuration.ConfigurationProperty("deadLetterQueue", DefaultValue=System.ServiceModel.DeadLetterQueue.System)]
public System.ServiceModel.DeadLetterQueue DeadLetterQueue { get; set; }
[<System.Configuration.ConfigurationProperty("deadLetterQueue", DefaultValue=System.ServiceModel.DeadLetterQueue.System)>]
member this.DeadLetterQueue : System.ServiceModel.DeadLetterQueue with get, set
Public Property DeadLetterQueue As DeadLetterQueue

属性值

一个 DeadLetterQueue 枚举值,指示要使用的死信队列的类型。

属性

注解

死信队列是发送应用程序的队列管理器中的一个队列,用于放置传递失败的过期消息。 死信队列枚举指定要使用的死信队列的类型。 有效值为:

  • None:不需要死信队列。 因此,如果消息传递失败,则不会在死信队列中保留它的任何记录。 这是当 ExactlyOnce 设置为 false 时的默认值。

  • System:系统级死信队列用于记录传递失败的消息。 消息队列(也称为 MSMQ)具有一个事务性系统死信队列和一个非事务性系统死信队列,分别记录来自事务性队列和非事务性队列的传递失败的消息。 这是当 ExactlyOnce 设置为 true 时的默认值。

  • Custom:CustomDeadLetterQueue 中指定的队列用于记录传递失败的消息。

造成消息未能到达接收应用程序的原因包括:

  • 事务性消息被发送到非事务性队列中。

  • 非事务性消息被发送到事务性队列中。

  • 未经身份验证的消息被发送到仅接受经过身份验证的消息的队列中。

  • 未加密的消息被发送到仅接受加密消息的队列中。

  • 消息在传递给接收方之前过期。

  • 超出了目标计算机的消息存储配额或目标队列的存储配额,或者在消息到达时目标计算机上没有可用的存储空间。

  • 发送方没有将消息放入目标队列所需的访问权限(可能为英文网页)。

  • 附加在消息上的数字签名无效。

  • 加密的消息不能由目标队列管理器解密。

  • 目标队列在检索消息之前被清除或删除。

适用于