Microsoft MVC プレビュー 4 の OutputCacheFilter は実際にアクションの呼び出しを節約しますか?
-
08-06-2019 - |
質問
厳格なストレス テストを含むプレビュー 3 を使用して、ライブで新鮮でおしゃれなサイトをデプロイしました。
ページ出力キャッシュは私たちの救世主であり、契約上のパフォーマンス要件を満たすことができるようになりました。
私の質問は、アクションに違いはあるのかということです OutputCacheFilter
ページ出力キャッシュはどうですか?
アクション出力キャッシュはページ出力キャッシュより高速ですか?
解決
内部的には、OutputCacheAttribute (別名出力キャッシュ フィルター) は、 ページ出力キャッシュ (別名 @OutputCache ディレクティブ)。
したがって、ページ出力キャッシュよりも高速ではありません。ただし、MVC では、ビュー (別名ページ) をレンダリングするため、MVC の @OutputCache ディレクティブを介してページ出力キャッシュを使用することはできません。 後 アクションが実行されます。したがって、得られる利益はほとんどありません。
出力キャッシュ フィルターを使用すると、結果が出力キャッシュにある場合は正しい処理が行われ、アクション コードは実行されません。それが役立つことを願っています。:)
他のヒント
キャッシュするようにマークされているアクションで Html.RenderAction(..) を呼び出すと、現在バグがあることに注意してください。特定のアクションがキャッシュされるのではなく、ページ全体がキャッシュされます。これについてはすでに codeplex で報告しましたが、既知の問題のようです。<% HTML.RenderAction<...>(...); の呼び出し[OutputCache(..)] を使用してアクションに %> を指定すると、ページ全体がキャッシュされます。