画像をさまざまなサイズでリクエストできるようにするコードがいくつかあります。画像が存在しない場合は、そのサイズで画像を作成して保存します。私たちが抱えている問題は、イメージが存在せず、初めて作成しようとするときの複数の要求です。
現在、目的の場所である Web ファームに参加していないか、複数のマシンに分散していませんが、必要なのは、そのセクションをロックし、1 つのスレッド/プロセスのみがサイズ変更されたイメージを作成し、その後、すべてのスレッドを許可する方法です。画像を返し続けます。
ASP.NET C# で複数のスレッド/マシン間でロックするための最良の方法は何ですか (Web ファームのシナリオで)。唯一の本当の選択は、おそらくイメージのファイル名/IDにロックを保存できるある種のDBテーブルを使用することだと思いますが、ロックが解放されたかどうかを確認するために他のスレッドがDBを呼び出し続ける必要がありますか?
誰かがこのタイプのシナリオの経験を持っているなら、それはありがたいです. C# 4.5 および SQL Server 2008 で ASP.NET MVC 4 を使用しています。