3

私は ASP.NET の経験がありますが、私の知識の一部は少し不安定です。サービスを使用してデータの大部分を取得するアプリケーションを作成しています。次に、必要なものにLINQでフィルタリングしたいと思います。このデータはめったに変更されませんが、Session に収めるには多すぎることはわかっています。

ほとんど変更されない大量のデータをメモリに格納するにはどうすればよいですか? これはアプリケーション変数に適していますか?

4

2 に答える 2

1

ソース データをキャッシュする代わりに、ASP.NET 出力キャッシュまたは memcached を介した HTTP キャッシュを使用して、レンダリングされた出力自体を格納することを検討してください。ASP.NET OutputCache は、特定の ASP.NET リソースで動作するように調整できます。また、必要に応じてキャッシュを明示的に無効にする方法が多数あります。詳細については、次の MSDN リソースを参照してください。

ASP.NET キャッシュの概要

出力キャッシュ構成

ASP.NET MVC の OutputCache 属性

于 2012-09-06T02:00:05.570 に答える
1

かなり静的なデータを大量に保存できます。

  • HttpContext.Cache
  • C# クラスのプライベートな静的フィールド。静的フィールドを初期化できる public get プロパティで変数をラップします。アプリを最初に起動するとき、およびアプリ ドメインが IIS によってリサイクルされるたびに、静的フィールドを初期化する必要があります。

HttpContext.Cache

プロの

  • 構成可能なキャッシュ有効期限ポリシー。
  • ASP.Net 環境専用に設計されています

短所

  • 使用率が低いとASP.Net が判断した場合、キャッシュから呼び出される可能性があります。

静的フィールド

プロの

  • ユーザーによるキャッシュの有効期限の完全な制御。

短所

  • キャッシュの有効期限は明示的にプログラムする必要があります。組み込みの有効期限サポートはありません。
于 2012-09-06T00:02:55.540 に答える