IPlaybackControl 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
佇列元件中的功能,負責伺服器端播放錯誤及訊息排隊傳遞機制的客戶端故障處理。
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() |
通知伺服器端例外類別實作,所有嘗試回放延遲啟用給伺服器的嘗試均失敗,訊息即將被移至最終靜止佇列。 |