TemplateControl.OnCommitTransaction(EventArgs) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вызывает событие 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 для любой логики обработки транзакций, в которой участвует страница или пользовательский элемент управления.