4

1回のトランザクションで2つのデータベース操作を行いたいです。その2つの操作は

  1. 挿入操作を 1 回実行します。
  2. 1 人のユーザーを作成します (メンバーシップを使用 - SQL メンバーシップ プロバイダー)

私はTransactionScopeを試しましたが、その行で分散トランザクションに行きました: -- Membership.CreateUser("test", "password", "test@test.com");

DBしかないので、軽量トランザクションでこれを行うにはどうすればよいですか?

前もって感謝します。

4

3 に答える 3

4

単一のデータベース接続を使用する場合、TransactionScope の現在の実装は軽量トランザクションのみを使用します。したがって、シナリオでこれを達成することはできません。

于 2008-11-20T08:57:56.943 に答える
2

同様の問題があります。私の解決策は、ASP.Net メンバーシップ プロバイダーのコードをダウンロードして再構築し、SqlConnectionHolder クラスをハイジャックすることです (うまくいくかどうかはまだわかりません)。

于 2008-12-03T20:56:37.020 に答える
0

私はこのトピックを探していましたが、答えを見つけたと思います。これはSQLServer2008にのみ適用されます。System.Transactions名前空間またはアプリケーションコードを変更する必要はありません。それは面白い。;)

http://blogs.msdn.com/b/adonet/archive/2008/03/26/extending-lightweight-transactions-in-sqlclient.aspx

お役に立てれば!

于 2011-05-10T06:01:34.880 に答える