Share via


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 會指定要從目的地佇列接收之已傳送訊息的總時間。 時間限制包括到達目的地佇列所花費的時間,以及收到訊息之前在佇列中等候的時間。

警告

使用相依用戶端計算機時,請確定用戶端電腦上的時鐘會與執行消息佇列之伺服器上的時鐘同步處理。 否則,傳送屬性不是InfiniteTimeout的訊息TimeToBeReceived時,可能會產生無法預測的行為。

如果 屬性指定的 TimeToBeReceived 間隔在從佇列中移除訊息之前過期,消息佇列會以兩種方式之一捨棄訊息。 如果訊息的 UseDeadLetterQueue 屬性是 true,訊息就會傳送到寄不出的信件佇列。 如果 為 UseDeadLetterQueuefalse,則會忽略訊息。

如果定時器到期之前未擷取訊息,您可以設定訊息的 AcknowledgeType 屬性,要求消息佇列將負通知訊息傳回給傳送應用程式。

如果屬性所 TimeToBeReceived 指定的值小於 屬性所 TimeToReachQueue 指定的值,則 TimeToBeReceived 優先使用。

當單一交易中傳送數個訊息時,消息佇列會使用 TimeToBeReceived 第一個訊息的屬性。

適用於

另請參閱