Share via


IPlaybackControl 介面

定義

異常處理之佇列元件中的函式 (這個異常處理用於佇列傳遞機制中的伺服器端播放錯誤及用戶端失敗)。

public interface class IPlaybackControl
[System.Runtime.InteropServices.Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IPlaybackControl
[<System.Runtime.InteropServices.Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IPlaybackControl = interface
Public Interface IPlaybackControl
屬性

備註

針對 COM+ 目錄中元件定義的例外狀況類別會 IPlaybackControl 同時實作原始類別的 介面。 原始類別介面的方法實作是用來對類別本身中失敗的方法執行例外狀況處理。 系統會在 或 FinalServerRetry 之後FinalClientRetry呼叫它們,以處理原本呼叫之方法的例外狀況。

佇列元件播放器會呼叫 的 方法來 IPlaybackControl 通知例外狀況處理程式物件,訊息即將放在最終的待用或寄不出的信件佇列上。 佇列元件播放器接著會在原始方法呼叫中失敗的例外狀況處理程式物件中呼叫相同的方法。 例外狀況處理程式物件可以藉由收集問題診斷資訊或產生物件或訊息來通知客戶端問題,來實作替代方法。 如果應用程式未實 IPlaybackControl作 ,當佇列元件播放機耗盡所有重試時,有害訊息會放在最終的待用或寄不出的信件佇列上。

有害訊息是因某些原因而無法處理的訊息,可能是因為伺服器或佇列系統發生問題。 交易會回復,有害訊息會移至佇列頂端。 當訊息再次取消佇列時,就會發生相同的狀況。 此訊息可以無限期地繼續迴圈,直到完成修正問題為止。 佇列元件服務會使用一系列重試來處理有害訊息。 在數次失敗重試之後,訊息會移至最終的待用佇列。 有害訊息會保留在待用佇列中,直到使用佇列元件消息行動工具手動移動為止。

您也可以使用 FinalServerRetry 方法來以程式設計方式解決有害訊息狀況,以通知伺服器端元件作者所有嘗試播放延後啟用都失敗。

如果您發現有害訊息,可能會快速解決問題的根本原因。 例如,如果伺服器因為某些原因而離線,您可以讓伺服器重新上線。 如果您無法快速解決問題,您可以自動產生另一筆交易,通知要求者未發生交易。 然後,要求者可以進行補償交易,以反轉已認可之交易的效果。

方法

FinalClientRetry()

通知用戶端例外狀況處理元件,嘗試傳遞訊息至伺服器的所有訊息佇列都遭到拒絕,以及訊息已在用戶端 Xact Dead Letter 佇列上結束。

FinalServerRetry()

通知伺服器端例外狀況類別實作,所有嘗試播放對伺服器的延遲啟動過程都已經失敗,而訊息將會搬移至其最終的休止佇列。

適用於