0

xmlファイルをメモリにロードし、サイト全体でグローバルに使用できるようにする必要があります。このコードはこれを達成しますか?

もしそうなら、この「キャッシュされた」バージョンの更新は将来どのように達成されますか?

XPathDocument ConvProductDoc;

    ConvProductDoc = Cache["doc"] as XPathDocument;
    if (ConvProductDoc == null) {
        ConvProductDoc = new XPathDocument(HttpContext.Current.Request.MapPath(@"\data\foo\bar\my.xml"));
        Cache.Insert("doc", ConvProductDoc);
    }
4

2 に答える 2

1

Web サイトが 1 つのサーバー上にのみある場合は、はい。

Web サイトが複数のサーバーに分散している場合は、いいえ。キャッシュ キーとデータは、それが保存されているサーバーでのみ使用できます。

たとえば、サーバーが Amazon EC2 にある場合は、ElastiCache を使用して、分散サーバー環境でキャッシュを利用できるようにすることができます。

于 2013-02-25T18:04:54.340 に答える
1

はい、ASP.NETCacheオブジェクトはサイト全体です。Cache有効期限ルールなどを管理および設定するための多くのオプションがあります。

の値を割り当て/更新するには、または値Cacheのように設定するだけです。DictionaryHashTable

Cache["doc"] = newValue;

Cacheオブジェクトの詳細については、MSDN ドキュメントのhttp://msdn.microsoft.com/en-us/library/aa478965.aspx#aspnet-cachingtechniquesbestpract_topic4を参照してください。

于 2013-02-25T18:05:13.170 に答える