0

私の場合、リクエストごとに 1 つ作成しDataContextTransactionScope. したがって、例外がない場合は、例外をキャッチしてトランザクションをロールバックすることも、しないこともできます。

現在、メインのルート抽象コントローラー クラスで依存関係を宣言してTransactionScopeおり、トランザクションはリクエストごとに自動作成され、そのコントローラーのOnActionExecutedメソッドでトランザクションをコミットするかしないかのいずれかです。

結局のところ、少なくとも以前のAuthorizeAttributeトランザクションの作成が必要です。いくつかのリクエストで s が呼び出され、それらが DB 接続も使用している場合にそう思われます。

また、私が行う方法よりも、リクエストごとに 1 つのトランザクションを作成するためのよりクリーンな方法があるに違いないと思います。


1 では、nhibernate のような他の ORM を使用せずに、リクエストが作成された瞬間にコントローラーのアクションのトランザクションを作成し、そのリクエストの最後にそれらを破棄するための最良の方法は何ですか?


2 同じ ID を持つアクションが Web サーバーによって同時に実行されないように、ID を指定して、コントローラーのアクションを何らかの方法でチャネルに分割する方法はありますか?

4

1 に答える 1

1

そのため、結果として、これ以上の方法はありません。特に、誰も回答しておらず、そのような興味深いトピックを閲覧した人さえいなかったからです。

于 2013-09-12T07:39:56.110 に答える