私はオークションシステムに取り組んでいますが、影響を受けないようにしようとしている問題の1つは、2人が同じアイテムにまったく同時に入札するという状況です。
これを行うには、テーブルをロックし、現在のアイテムの最高入札額を取得し、入力された入札額がその入札額よりも大きいことを確認し、テーブルに新しい入札エントリを追加してから、テーブルのロックを解除する必要があります。
これをロックして、最高入札額を確認してから新しい入札単価をテーブルに挿入するまでの間に2番目のウェブサーバーが入札単価の挿入をトリガーしないようにする必要があります。これによりデータの問題が発生します。
Linq-to-sqlを使用してこれを実現するにはどうすればよいですか?
注:transactionscopesがこれを実行できるかどうかはわかりませんが、webfarmの設定により分散トランザクションがトリガーされる傾向があり、分散トランザクションを使用できないため、使用できません。