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) |
表示资源管理器的用于单阶段提交优化的回调实现。 |