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 方法。