オブジェクトのキャッシュに使用するいくつかの静的ユーティリティ メソッドを作成しました。
public static class CacheProductView
{
static object _lock = new object();
static string _key = "product-view";
public static IEnumerable<Product> Select()
{
var obj = CacheObject;
if (obj == null)
{
lock (_lock)
{
obj = CacheObject;
if (obj == null)
{
obj = CreateCacheObject();
}
}
}
}
}
これは、私が使用する方法のコードのスニペットです。ご覧のとおり、私は従来の .Net キャッシュ パターンを使用していますが、静的クラス内の静的変数に関して質問があります。
静的変数は静的クラス内で一意ですか? たとえば、クラスを複製して「Product」を「Order」に置き換えると、_lock および _key オブジェクトのスコープはクラスまたはアプリケーションになります。明らかに、答えが後者の場合、一意の名前を付ける必要があります。
すべてのヘルプとアドバイスに感謝します。