TemplateControl.OnCommitTransaction(EventArgs) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
引发 CommitTransaction 事件。
protected:
virtual void OnCommitTransaction(EventArgs ^ e);
protected virtual void OnCommitTransaction (EventArgs e);
abstract member OnCommitTransaction : EventArgs -> unit
override this.OnCommitTransaction : EventArgs -> unit
Protected Overridable Sub OnCommitTransaction (e As EventArgs)
参数
示例
下面的代码示例演示如何使用 OnAbortTransaction 和 OnCommitTransaction 方法。 由于 TemplateControl 是抽象类,因此此代码示例使用 Page 派生自 类的 TemplateControl 类。
Account
是支持操作的 Debit
类,该操作是事务性的,必须作为一个单元执行。 如果在此操作期间引发任何异常,则事务将结束。
private void Page_Load(object sender, System.EventArgs e)
{
AbortTransaction += new System.EventHandler(Sub_AbortTransaction);
CommitTransaction += new System.EventHandler(Sub_CommitTransaction);
try
{
Account myAccount = new Account();
int someAmount = 500;
myAccount.Debit(someAmount);
ContextUtil.SetComplete();
}
catch(Exception)
{
ContextUtil.SetAbort();
}
}
private void Sub_AbortTransaction(object sender,System.EventArgs e)
{
// Code for RollBack activity goes here.
Response.Write("Transaction Aborted");
}
private void Sub_CommitTransaction(object sender,System.EventArgs e)
{
// Code for Commit Activity goes here.
Response.Write("Transaction Commited");
}
private Sub Page_Load(Sender As Object, e As EventArgs)
AddHandler Me.myCommitTransaction,AddressOf Sub_CommitTransaction
AddHandler Me.myAbortTransaction,AddressOf Sub_AbortTransaction
try
Dim myAccount As Account = New Account()
Dim someAmount As Integer = 500
myAccount.Debit(someAmount)
ContextUtil.SetComplete()
catch e1 As Exception
ContextUtil.SetAbort()
End Try
End Sub
Public event myCommitTransaction As System.EventHandler
Public event myAbortTransaction As System.EventHandler
protected overrides Sub OnCommitTransaction(e As EventArgs )
RaiseEvent myCommitTransaction(Me ,e)
Response.Write("<br /><br />The 'OnCommitTransaction()' method is used to raise the 'CommitTransaction' event." )
End Sub
protected overrides Sub OnAbortTransaction(e As EventArgs)
RaiseEvent myAbortTransaction(Me ,e)
Response.Write("<br /><br />The 'OnAbortTransaction()' method is used to raise the 'AbortTransaction' event." )
End Sub
private Sub Sub_AbortTransaction(Sender As Object, e As EventArgs)
' Code for RollBack activity goes here.
Response.Write("Transaction Aborted")
End Sub
private Sub Sub_CommitTransaction(Sender As Object, e As EventArgs)
' Code for Commit Activity goes here.
Response.Write("Transaction Commited")
End Sub
注解
可以将 OnCommitTransaction 方法用于页面或用户控件参与的任何事务处理逻辑。