ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

ASP.NET WebアプリケーションとWebサイトの違い

タイトルの件について、非常に分かりやすく解説している記事がありました。
ASP.NETアプリケーションの構造― 第2章 ASP.NET の基礎 2.2 ―

上の記事でも十分纏まっていますが、
備忘録としてWebアプリケーションとWebサイトの違いを書いておきます。

WebアプリケーションとWebサイトの最大の違いは
コードファイルのコンパイルのタイミングです。

これにより、以下の違いが発生します。

◆Webアプリケーションにおけるコードファイルの扱い
・ビルド処理・・・コンパイルし、.dllを作成する。
・Webサーバーへの配置・・・.dllを配置する。
・ブラウザからの呼び出し時・・・.aspxのみコンパイルする。コードファイルはコンパイルしない。

◆Webサイトにおけるコードファイルの扱い
・ビルド処理・・・コンパイルエラーのみチェック。
・Webサーバーへの配置・・・コードファイルをそのまま配置する。
・ブラウザからの呼び出し時・・・.aspx、コードファイルをコンパイルする。

どちらを使うべきかですが、上記記事ではWebアプリケーションを推奨しています。
その理由は以下の通りです。

◆Webアプリケーションを推奨する理由
・.Net2005より前のアプリは動かない可能性がある。
ASP.NET MVCWindows AzureではWebサイトは利用できない。