私のWebサイトにはホームページがあり、そのページを匿名ユーザー用にキャッシュし、認証ユーザー用に「非公開」に設定したいので自分のコンピュータ上で、どこにも)。ASP.NET MVC 3で認証されていないユーザーのキャッシュホームページ
したがって、ユーザーが匿名の場合は、ページをサーバーキャッシュに保存し、ブラウザキャッシュにもCache-control:public, max-age=60
とVary:Cookie
を使用して保存します。ブラウザが認証され、Cookieを送信すると、ブラウザは再利用されません前者の保存ページ。
ユーザーが認証されている場合は、サーバーに保存する必要はありませんが、Cache-control:private, max-age=60
を使用して顧客のブラウザで行います。
私はOutputCacheAttributeとResponse.Cacheでいくつかの組み合わせを試してきましたが、それは正しくできません。
これを行う最善の方法は何ですか?
よろしくお願いいたします。
こんにちは。それは私が最初に試したものですが、うまくいきませんでした。今私はそれが動作していない理由を把握しようとしている、http://stackoverflow.com/questions/9210581/outputcache-is-sending-wrong-vary-header-when-the-call-hits-the -キャッシュ。乾杯。 – vtortola
あなたのリンクでは、サーバー側のキャッシュを使用しているだけで、私はクライアントと下流のHTTPキャッシュにも興味があります。 – vtortola
プロキシ/クライアントレベルのキャッシュを次のように指定できます。\t \t \t \t \t context.Response.Cache.SetCacheability(HttpCacheability.Public); – Dusda