ユーザーが GET リクエストを介してダウンロードする特定のアイテムの有効期限を長く設定できるようにしたいと考えています。
「これは 10 分間有効です」と言いたい (つまり、+10 分間の Expires ヘッダーを設定したい)。リクエストは、AJAX を介してページに表示される HTML のフラグメントであり、ユーザーのセッションに適しています。サーバーに戻って、再度必要な場合に 304 を取得したくありません。ブラウザーのキャッシュで同じアイテムをすぐに取得できるようにしたいのです。
MVC アクション フィルターのキャッシュと圧縮に関するほぼ 1 年前の記事を見つけました。これにより、Expires ヘッダーを変更するためのカスタム ActionFilter が作成されます。私はすでに、生成しているいくつかのカスタム css でうまく機能する圧縮フィルターを使用しています (94% の圧縮率!)。
主な懸念事項が 2 つあります。
1) 本当にこの方法を使用する必要がありますか? 私はそれで問題ありませんが、MVC または OutputCache 機能にこれを行うための機能は本当にありませんか? 「従来の」ASP.NET では、常に Expires ヘッダーを手動で設定していましたが、少なくともコントローラーではそれを行うことはできません。
2) このフィルター メソッドを使用すると、web.config で制御できるようにしたい OutputCache ポリシーにまったく干渉しません。私は、この 2 つは相互に排他的であり、両方を必要としないと考えていますが、完全にはわかりません。