ISinglePhaseNotification 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
描述一個資源物件,其支援參與交易的單一階段交易認可最佳化。
public interface class ISinglePhaseNotification : System::Transactions::IEnlistmentNotification
public interface ISinglePhaseNotification : System.Transactions.IEnlistmentNotification
type ISinglePhaseNotification = interface
interface IEnlistmentNotification
Public Interface ISinglePhaseNotification
Implements IEnlistmentNotification
- 實作
備註
您應該注意,即使您的資源管理員實作此介面來支援單一階段認可優化,也不保證它會收到單一階段認可。 交易管理員仍然可以改為傳送兩個階段認可通知。
若要將您的資源管理員登記為交易中的參與者,請呼叫 EnlistVolatile 類別的 Transaction 方法或 EnlistDurable 方法。 具體而言, EnlistmentOptions
參數應該等於 None ,以確保執行單一階段認可。 如果錯誤地設定為 EnlistDuringPrepareRequired ,則不會發生單一階段認可。
ISinglePhaseNotification由於介面衍生自 IEnlistmentNotification 介面,因此資源管理員也必須針對兩個階段認可通知實作後者的所有方法。 這是交易管理員的選擇,是用於此資源管理員的兩個階段認可或單一階段認可優化。 不過,實作此介面可讓資源管理員有機會在可用時利用優化。
如果使用優化,而交易管理員會呼叫 SinglePhaseCommit 編列資源的 方法,則資源管理員應該使用 類別的各種方法來 SinglePhaseEnlistment 回應此呼叫,以通知交易管理員是否要認可或回復交易管理員。
方法
Commit(Enlistment) |
告知登記的物件正在認可交易。 (繼承來源 IEnlistmentNotification) |
InDoubt(Enlistment) |
告知登記的物件交易的狀態不確定。 (繼承來源 IEnlistmentNotification) |
Prepare(PreparingEnlistment) |
告知登記的物件正在準備認可交易。 (繼承來源 IEnlistmentNotification) |
Rollback(Enlistment) |
告知登記的物件正在復原 (中止) 交易。 (繼承來源 IEnlistmentNotification) |
SinglePhaseCommit(SinglePhaseEnlistment) |
表示資源管理員之單一階段交易認可最佳化的回呼實作。 |