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