データベースからレンダリングされる Razor Views で動作する小さな CMS があります。いずれかのページを変更するまで、すべてが正常に機能しています。
ページが仮想パスに割り当てられると、MVC または がRazorViewEngine
ビューをキャッシュします。これは完全に理にかなっています。
ただし、誰かが変更を加えた場合、この特定のビューのキャッシュをクリアしたいと思います。また、ページをレンダリングする前にキャッシュをクリアしたいと思います。したがって、私のアイデアは、データベースのビューに「更新済み」DateTime
情報を追加し (このフィールドは、テーブルの標準フィールドの 1 つであるため、とにかくそこにあります)、この日付を のエントリの CreateTime と比較することでしたHttpRuntime.Cache
。VisualStudioにはCreationTimeがあることがわかりますが、この値に到達するためのリフレクションの経験はありません。
また、聞いたところによると、リフレクションはあまり高速ではなく、ページがレンダリングされるたびにリフレクションを実行する必要があると、ページの速度が低下します。
だから私の質問は、1.誰かがReflectionを使ってエントリからCreationTimeを取得するのを手伝ってくれますか、HttpRuntime.Cache
それとも2.誰かがより良い方法を知っていますか?