0

MVC 内で POST にロックを使用することは妥当ですか? ロックを無効にする webfarm を使用するような状況はありますか? 私は通常、データベース ロックを使用しますが、私の特定の状況では管理が非常に難しく、モニターを使用する方が簡単です。ロックが必要な理由については議論したくありませんが、ロックが期待どおりに機能しない状況があるかどうかを知りたいだけです。

private static object Lockable = new Object(); 
public ActionResult Submit() 
{
     lock(Lockable)
     {


     }   
}
4

2 に答える 2

3

Web ファームをロックするには、ネットワーク上に共有リソース (キャッシュ サーバーなど) が必要であり、それを使用して Web ファーム セーフ ロックを実現する必要があります。それが最も簡単な解決策だと思います。

呼び出しをシリアル化し、ネットワーク経由でアクセスするコンポーネントを分離することもできます。

すべての呼び出し元が呼び出しをシリアル化するように強制されるように、分散トランザクションに参加できる MSDTC 準拠のコンポーネントを作成する別のオプションがあります。ただし、MSDTC、Enterprise Services などで動作するようにすべての環境をセットアップする必要があります。

于 2012-06-07T14:41:01.033 に答える
1

あなたが言ったように、いくつかのWebサーバー/異なるプロセスの場合、ロックは現在のプロセスに対してのみ機能します。つまり、アプリケーションの他の実行中のインスタンスが存在する場合は影響しません.

于 2012-06-07T14:22:27.337 に答える