Message.TimeToBeReceived 属性

定义

获取或设置要从目标队列接收消息所需的最长时间。

public:
 property TimeSpan TimeToBeReceived { TimeSpan get(); void set(TimeSpan value); };
[System.ComponentModel.TypeConverter(typeof(System.Messaging.Design.TimeoutConverter))]
[System.Messaging.MessagingDescription("MsgTimeToBeReceived")]
public TimeSpan TimeToBeReceived { get; set; }
[<System.ComponentModel.TypeConverter(typeof(System.Messaging.Design.TimeoutConverter))>]
[<System.Messaging.MessagingDescription("MsgTimeToBeReceived")>]
member this.TimeToBeReceived : TimeSpan with get, set
Public Property TimeToBeReceived As TimeSpan

属性值

从目标队列接收已发送消息所需的总时间。 默认值为 InfiniteTimeout

属性

例外

消息队列经过筛选后忽略了 TimeToBeReceived 属性。

TimeToBeReceived 指定的值无效。

示例

下面的代码示例获取并设置消息的 TimeToBeReceived 属性的值。

注解

属性 TimeToBeReceived 指定从目标队列接收已发送消息的总时间。 时间限制包括到达目标队列所用的时间,以及接收消息之前在队列中等待所用的时间。

注意

使用依赖客户端计算机时,请确保客户端计算机上的时钟与运行消息队列的服务器上的时钟同步。 否则,发送 TimeToBeReceived 属性不是 InfiniteTimeout的消息时,可能会导致不可预知的行为。

如果 属性指定的 TimeToBeReceived 时间间隔在消息从队列中删除之前过期,则消息队列会以两种方式之一丢弃消息。 如果消息的 UseDeadLetterQueue 属性为 true,则将该消息发送到死信队列。 如果 UseDeadLetterQueuefalse,则忽略消息。

可以将消息的 AcknowledgeType 属性设置为请求消息队列在计时器过期之前未检索到消息时将否定确认消息发送回发送应用程序。

如果 属性指定的 TimeToBeReceived 值小于 属性指定的 TimeToReachQueue 值, TimeToBeReceived 则 优先。

在单个事务中发送多条消息时,消息队列将使用 TimeToBeReceived 第一条消息的 属性。

适用于

另请参阅