asp.net 4.5 Web アプリケーション (VS2012 および C#、SQL Server) の同時実行の問題を処理するにはどうすればよいですか
例:
私のシナリオでは、ユーザーがキュー アイテムを処理できない可能性があります。以下を参照してください。
- ユーザー A がキュー アイテム (a) を開き、注意深く確認します。
- ユーザー B がキュー アイテム (a) を開き、確認せずに処理します
- ユーザー A は (a) を処理することにしましたが、ロックされているため、項目 (b) にジャンプします。
- ユーザー C はキュー アイテム (b) を開き、すぐに処理します
- ユーザー A は (b) を処理することを決定しますが、再びロックされます
- 同じことがユーザーAに対して永遠に起こります
この可能性のパーセンテージは非常に小さい可能性がありますが、これはユーザー A にとって理想的ではありません。
C# コード レベルと SQL Server ストアド プロシージャ レベルでトランザクションを使用しています。また、ADO.net を使用してデータベースと通信します
私の質問は次のとおりです。
- トランザクションを作成することで並行性の問題が解決すると思いますか?
- ADO.net には同時実行防止機能が組み込まれているのではないでしょうか? 私は正しいですか?
- トランザクションの作成と ADO.net の使用以外に、同時実行の問題を防ぐために他に何かする必要がありますか?