質問: これは一昨年のことですが、ASP.NETサイト開発の新人が入社されて、既存サイトの維持作業から任されました。彼は彼の先輩になぜ、サイトAが立ち上がるのは早いに対して、サイトBは初回のみ立ち上がるのが遅いと聞いたところ、その先輩はサイトBが独自の設定あるので、初回だけ遅いよと答えた。私はちょっと不思議に思いならがコードをみたら、サイトAがWebアプリケーションに対して、サイトBがWebサイトでした。 Webサイトだから、事前コンパイルしなかったら、ランタイムで最初のリクエストでコンパイルするので時間がかかると説明した覚えがあります。日本語のスタック・オーバーフローでこの質問がないようで、私の理解を下記のようにまとめてみました。もし、漏れたポイントまた、アドバスを追伸してもらえる大変ありがたいです。 !画像の説明をここに入力 MSDN更新の比較: 日本語:Web アプリケーション プロジェクトと Web サイト プロジェクト 英語:Web Application Projects versus Web Site Projects in Visual Studio !画像の説明をここに入力
回答: 初回ロードタイムについてですが、これは通常 1. アプリケーションプールの起動 2. ASP.NETの依存ライブラリのロード 3. DBコネクション等の初期化 というような非常に時間のかかる処理が含まれており、UI層の差異はあまり問題になりません。質問にある「初回のみ立ち上がるのが遅い」サイトは起動時にキャッシュの作成などを明示的に行っているため時間がかかっているのではないでしょうか。