0

オブジェクトのキャッシュに使用するいくつかの静的ユーティリティ メソッドを作成しました。

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 オブジェクトのスコープはクラスまたはアプリケーションになります。明らかに、答えが後者の場合、一意の名前を付ける必要があります。

すべてのヘルプとアドバイスに感謝します。

4

1 に答える 1