2

私のアプリケーションでは、いくつかの xml ファイルをオブジェクトのリスト ( List<Thing>) に読み込みましたが、要求ごとにファイル システムにアクセスする必要がないようにしたいと考えています。xml ファイルのデータはめったに変更されないので、何らかの方法でキャッシュしたいと考えています。アプリケーションの開始時にデータをロードするか、遅延してロードするかは、私にとっては問題ありません。アプリ全体でデータを使用し、それに対して Linq クエリを実行できるようにする必要があります。ほぼメモリ内のミニ データベースとして使用します。キャッシュされたバージョンに影響を与えずにデータを変更/更新できる必要があるため、データをローカル変数にコピーすることも必要になる場合があります。どうすればこれを達成できますか?

4

2 に答える 2

2

キャッシュ オブジェクトを使用できます。

myxmllist = HttpContext.Current.Cache["myxmllist"];

    if (myxmllist == null)
    {
        //get xml from server

        HttpContext.Current.Cache.Insert("myxmllist", myxmllist); // add it to cache
    }
于 2013-05-29T18:06:42.807 に答える
1

System.Runtime.Caching.MemoryCacheまたはの主な利点の 1 つは、System.Web.Caching.Cacheキャッシュするアイテムに有効期限ポリシーを設定できることです。データを 1 回だけロードし、プロセスの存続期間中はメモリに保持する場合は、同じクラスの静的コンストラクターで作成してデータを入力する静的クラス メンバーを使用することもできます。変更/更新操作がメモリ内のデータに影響を与えてはならない場合は、データをコンテナーの別のインスタンスにロード (またはコピー) し、変更 (場合によっては保存) する必要があります。

于 2013-05-29T18:59:32.630 に答える