2009年9月14日月曜日

ExtJs-59 自動トランザクション制御の設定

はい。
子供と一緒に寝てしまい、先ほどおきて。。
明日も仕事だけど眠気がきませんでした。
ので眠気がくるまで少し。

今回のツールでは自動トランザクション制御を使用して実装する
ってことにしてます。いままでやったことありません。

TransacsionScopeオブジェクトを利用して
従来のDB内にトランザクション生成して管理
ではなく
DBの外側でトランザクションをきるってことらしい。
実装が楽で

using( TransactionScope tx = new TransactionScope(TransactionScopeOption.RequiresNew))
{
//トランザクション対象処理1
//トランザクション対象処理...
//トランザクション対象処理n
tx.Complete();//このメソッドがDispose時に呼ばれているかで判断される?らしい。
}
でトランザクション制御したいコードをくくります。

usingブロックから抜けるタイミングでのDispose時に二相コミット
がされるって。

でその二相コミットはWikiの基本アルゴリズム項がわかりやすい。
で、それを管理してるのがMSDTC
DistributedTransactionCoordinator。
WindowsServer2003だと追加インストールしなきゃだめだそうで。
XPはサービスが「手動」になってるので。

あ、
ああ、
だからだ。
(わたしはXP)

とさっき解決したので書き込みました。
赤間さんの本ちゃんと読めよ。
ってもう一人の私が突っ込みました。

0 件のコメント: