TemplateControl.OnCommitTransaction メソッド
CommitTransaction イベントを発生させます。
Protected Overridable Sub OnCommitTransaction( _
ByVal e As EventArgs _)
[C#]
protected virtual void OnCommitTransaction(EventArgse);
[C++]
protected: virtual void OnCommitTransaction(EventArgs* e);
[JScript]
protected function OnCommitTransaction(
e : EventArgs);
パラメータ
- e
イベント データを格納している EventArgs オブジェクト。
解説
このメソッドは、ページまたはユーザー コントロールが参加するどのトランザクション処理ロジックにも使用できます。
使用例
[Visual Basic, C#] OnAbortTransaction メソッドと OnCommitTransaction メソッドの例を次に示します。 TemplateControl は抽象クラスであるため、この例では、この抽象クラスから派生する Page クラスを使用します。 Account
は Debit
操作をサポートするクラスです。この操作はトランザクション操作であり、1 つの単位として実行する必要があります。この操作中に例外が発生すると、トランザクションは中止します。
private Sub Page_Load(Sender As Object, e As EventArgs)
AddHandler Me.myCommitTransaction,AddressOf Sub_AbortTransaction
AddHandler Me.myAbortTransaction,AddressOf Sub_CommitTransaction
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
[C#]
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");
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ
参照
TemplateControl クラス | TemplateControl メンバ | System.Web.UI 名前空間 | トランザクション処理