0

**

編集:

わかりました、アンサーをありがとう。SQLに使用されない場合、トランザクションの目的は何ですか? この記事では、単純なトランザクションの使用例を示します。

http://msdn.microsoft.com/en-us/library/ms172152(v=vs.90).aspx

コードが失敗した場合に復元しようとしているものをロールバックするためではない場合、これの目的は何ですか? また、アンビエント トランザクションと通常のトランザクションの違いは何ですか?

    void RootMethod()
{
     using(TransactionScope scope = new TransactionScope())
     {
          /* Perform transactional work here */
          SomeMethod();
          scope.Complete();
     }
}

void SomeMethod()
{
     using(TransactionScope scope = new TransactionScope())
     {
          /* Perform transactional work here */
          scope.Complete();
     }
}
4

1 に答える 1

3

TransactionScopeADO.NET データベース接続プロバイダーなど、それを検出してサポートするプロバイダーのアンビエント トランザクションです。
プログラム内で行った変更を元に戻す魔法の杖ではありません。このようには機能しません。

を作成しTransactionScope、データベース接続作成し、その接続を使用してデータベースに何かを実行し、トランザクション スコープをロールバックすると、データベースROLLBACK TRANに対して を発行した場合と同様に、データベースへの変更が取り消されます。
これ以上何もない。

于 2012-04-17T21:31:54.510 に答える