0

mvc3アプリの画像をキャッシュしたい。web.configにキャッシュプロファイルを記述しました。

caching>
  <outputCacheSettings>
    <outputCacheProfiles>
      <add name="ImageCache" duration="10" location="Server" noStore="true"/>
    </outputCacheProfiles>
  </outputCacheSettings>
</caching>

そして、画像を返すメソッドにOutputCacheAttributeを追加しました。

[OutputCache(CacheProfile = "ImageCache")]
public FileContentResult GetImage(int productId) { /* implementation */ }

Qustions:

1)画像がキャッシュされているかどうかを確認するにはどうすればよいですか?

2)これに最適な場所はどこですか:クライアント、サーバー、またはその他?私のアプリはウェブストアで、各画像は商品に添付されています。すべてのユーザーが同じキャッシュコンテンツを表示する必要があると思います。助言がありますか?

3)たぶんこれは本当にばかげています:クライアントとブラウザのキャッシュの違いは何ですか?

よろしくお願いします!

4

1 に答える 1

1

1.)その後のサイトへのリクエストで、画像を取得するかどうかをブラウザでいつでも確認できます。たとえば、Chromeでは、開発者ツールのF12キーを押してから、[ネットワーク]タブで画像を探します。Httpステータス304(変更されていません)が探しているものになります。

2.)異なる設定の長所と短所についてはよくわかりません。

3.)クライアントキャッシュとは、リソースがブラウザにキャッシュされることを意味します。基本的に、ブラウザは画像を再ダウンロードする必要はありません。サーバー側とは、サーバー/プロキシによってキャッシュ可能であることを意味します。たとえば、データベースでイメージをクエリする必要がある場合、イメージがすでにサーバーキャッシュにある場合は、これはもう必要ありません。ただし、クライアントは常にサーバーから取得する必要があります。

于 2013-02-07T19:31:04.143 に答える