語言

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 類別的介面。 原始類別介面的方法實作用於執行類別中失敗方法的例外處理。 它們會在原本呼叫的方法後FinalClientRetryFinalServerRetry或處理異常處理時被呼叫。

佇列元件玩家呼叫 的方法 IPlaybackControl ,通知例外處理物件訊息即將被放入最後的休止或死符佇列。 排隊元件播放器接著呼叫異常處理物件中原本方法呼叫失敗的方法。 例外處理物件可以實作替代方案,例如收集問題診斷資訊,或產生物件或訊息,告知客戶端問題。 若應用程式未實作 IPlaybackControl,當排隊元件玩家用盡所有重試時,毒訊息會被放入最終靜止或死符佇列。

毒訊息是指因某些原因無法處理的訊息,可能是因為伺服器或排隊系統出了問題。 交易會被回滾,毒訊息會被排到隊列頂端。 當訊息再次被取消排隊時,仍會出現相同狀況。 這個訊息可能會無限循環,直到有人處理問題為止。 佇列元件服務透過一連串的重試來處理毒訊息。 經過多次未成功重試後,訊息會被移至最終的休息佇列。 毒訊息會留在待處理的佇列中,直到使用排隊元件訊息移動工具手動移動。

毒訊息情況也可以透過程式化解決,使用該 FinalServerRetry 方法,該方法通知伺服器端元件作者所有回放延遲激活的嘗試均失敗。

如果你發現有毒訊息,或許能快速解決問題的根本原因。 例如,如果伺服器因某些原因離線,你可以讓伺服器重新上線。 如果你無法快速解決問題,可以自動產生另一筆交易,通知請求者該交易未發生。 請求方接著可以進行補償性交易,逆轉已承諾交易的效果。

方法

名稱 Description
FinalClientRetry()

通知用戶端例外處理元件,所有嘗試將訊息送達伺服器的訊息佇列都被拒絕,訊息最終進入用戶端的 Xact 死信佇列。

FinalServerRetry()

通知伺服器端例外類別實作,所有嘗試回放延遲啟用給伺服器的嘗試均失敗,訊息即將被移至最終靜止佇列。

適用於