これはある意味で異端の質問かもしれません。多くのページがまだASPにある大きなサイトがあります。ほとんどの場合、実際には動的ではありませんが、定期的に再生成されたHTMLのチャンクが(SSIまたはServer.Executeを介して)含まれています。貧乏人のキャッシングのように見えるかもしれませんが、それは本当にうまく機能しており、MicrosoftはこのシナリオのためにIISを大幅に最適化したと思います。
ここで、ASP.NET /ASP.NETMVCで同様のことを実現できるようにしたいと思います。定期的にHTMLスニペットを生成し(通常は1時間ごと程度)、メインサイトのクロム、ナビゲーション、およびスニペットに関連するその他の動的コンテンツを提供するASP.NET /ASP.NETMVCラッパーに含めます。つまり、混合ですが、重要なのは、生成されたHTMLは、主にパフォーマンス上の理由とサーバーファームの同期を維持するために、外部プロセスによって定期的に再生成されるということです。
私が見つけたASP.NETで最も近いものは次のとおりです。
<% Response.WriteFile("GeneratedSnippet.inc"); %>
これは
<% Server.Execute "GeneratedSnippet.inc" %>
ASPで。実行するコードがないため、おそらくさらに高速です。しかし、おそらく次のように効率的ではありません。
<!--#include file="GeneratedSnippet.inc" -->
上で述べたように、IISはSSIとASPインクルードを処理するために何年にもわたって最適化されてきたと思います。一方、Response.WriteFileは、実際にファイルを読み取って吐き出す可能性があります。誰かが2つまたはいくつかの経験についての洞察を持っていますか?
心配しすぎかもしれませんが、トラフィックの多いコンテンツのほとんどは依然としてASPで実行され、多くのSSIを使用しているため、Response.WriteFileのわずかな違いでも蓄積され、目に見える影響を与える可能性があります。