いくつかの入力パラメーターを指定して、グラフィックを動的にレンダリングするコントローラー アクションがあります。グラフィックがレンダリングされると少し目立つので、出力キャッシュを使用して再レンダリングを回避します。
非常に頻繁に使用される入力パラメーターの組み合わせは数十あります。これらの組み合わせのいずれかを使用する最初の訪問者が遅延を経験しないように、キャッシュをウォームアップすることをお勧めします。
そのために、次のように Application_Start() からコントローラーを直接呼び出します。
UtilController uc = new UtilController();
uc.GenerateImage(p1, p2, p3);
ブレークポイントを設定することで、コントローラーのアクションが呼び出され、画像が生成されることがわかります。ただし、そのイメージがブラウザーによって最初に (そして最初に) 要求されたときは、再度生成されます。このテストでは、ブラウザーは何もキャッシュしないように構成されており、コントローラー アクションの呼び出しに使用されるパラメーターを注意深く比較しました。
コントローラー アクションが直接呼び出された場合、出力キャッシュは呼び出されませんか? キャッシュを事前にウォームアップするためのより良い方法 (できれば Web プロジェクトに自己完結型の方法) はありますか?