FilePathResultではなく、ビューを提供する任意の(私たちはヘッドレスブラウザを使用して、ウェブサイトのサーバーにキャッシュされたコピーを作成した場合)パフォーマンス波及効果ではなく、ビュー
public class HomeController : Controller
{
public ActionResult Index()
{
var url = Request.RawUrl.Replace("/", "_");
var path = System.Configuration.ConfigurationManager.AppSettings["PreloadPath"] + "\\" + url + ".html";
if (System.IO.File.Exists(path))
{
return new FilePathResult(path, "text/html");
}
else
{
return View("Index");
}
}
}
我々は次の場合にパフォーマンスの波及効果は何ですか要求ごとにAppSettings
にアクセスしなければならない場合は、ファイルシステムを使用してファイルが存在するかどうかを確認し、そのhtmlファイルを提供してください。ただ
return View("Index");
と比較してあるような費用
は、ファイルへのアクセスは、サーバー上の任意のコストを持っていますか?あるいは、私はナンセンスな話をしていますが、IISは同様のアクションを実行する必要がありますか?
注:私は
ビューは必ずしも解釈と実行を必要としません。ビューはアセンブリにコンパイルされ、そのコードが実行されます。ビューにあるコードに応じて、ファイルを表示するよりも高速である場合とそうでない場合があります。 – casperOne
本当にあなたは正しいです、私はそれを表現しながら少し急いでいました。彼らはまだ実行される必要があり、アセンブリされていない場合はコンパイルされている可能性があります。 – kagelos
@casperOneしかし、ビューではHTMLコンテンツも生成されるので、平均的な場合にはその前にいくつかの作業を行い、最終的にはFilePathResultのようなコンテンツを提供するので、やや遅くなると予想しています。 – kagelos