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) |
In |
告知登記的物件交易的狀態不確定。 (繼承來源 IEnlistmentNotification) |
Prepare(Preparing |
告知登記的物件正在準備認可交易。 (繼承來源 IEnlistmentNotification) |
Rollback(Enlistment) |
告知登記的物件正在復原 (中止) 交易。 (繼承來源 IEnlistmentNotification) |
Single |
表示資源管理員之單一階段交易認可最佳化的回呼實作。 |
產品 | 版本 |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |