ASP.NET WebサイトとASP.NET Webアプリケーションの違いを判断するその他の方法
ASP.NET WebサイトとASP.NET Webアプリケーションの違い
プロジェクトの規模と複雑性
-
ASP.NET Webサイト:
- 小規模なプロジェクトや、シンプルな情報提供を目的としたWebサイトに適しています。
- 静的なHTMLファイルやCSSファイル、JavaScriptファイルなどを含むディレクトリ構造で構成されます。
- コードファイルは必要に応じて個別に作成できます。
- 事前コンパイルはされず、リクエスト時に動的にコンパイルされます。
-
ASP.NET Webアプリケーション:
- 大規模なプロジェクトや、複雑な機能を備えたWebアプリケーションに適しています。
- ソリューションファイルとプロジェクトファイルで構成され、コードファイル、リソースファイル、設定ファイルなどを一括で管理できます。
- 事前にコンパイルされ、実行速度が向上します。
- MVCフレームワークなど、さまざまな開発フレームワークを利用できます。
開発環境
-
- Visual StudioのWebサイトテンプレートを使用して簡単に作成できます。
- IIS Expressなどの開発用Webサーバー上で動作確認ができます。
- ファイルシステムへのアクセスなど、より多くの機能を利用できます。
-
- Visual StudioのWebアプリケーションテンプレートを使用して作成します。
- IISなどのWebサーバー上で動作させる必要があります。
- セキュリティやパフォーマンスなどの面で、より安定した動作が期待できます。
開発者のスキル
-
- ASP.NETの基礎知識があれば、比較的簡単に開発できます。
- コードファイルは必要に応じて個別に作成するため、コード管理が煩雑になる可能性があります。
-
- ASP.NETの深い知識と、ソリューションファイルやプロジェクトファイルの管理スキルが必要です。
- コードファイルがプロジェクトファイルで管理されるため、コード管理が容易になります。
-
ASP.NET MVC:
-
既存のプロジェクト:
<%@ Page Language="C#" %>
<!DOCTYPE html>
<html>
<head>
<title>ASP.NET Webサイト</title>
</head>
<body>
<h1>ASP.NET Webサイト</h1>
<p>これはASP.NET Webサイトのサンプルコードです。</p>
</body>
</html>
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
<!DOCTYPE html>
<html>
<head>
<title>ASP.NET Webアプリケーション</title>
</head>
<body>
<h1>ASP.NET Webアプリケーション</h1>
<p>これはASP.NET Webアプリケーションのサンプルコードです。</p>
</body>
</html>
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
}
<!DOCTYPE html>
<html>
<head>
<title>ASP.NET MVC</title>
</head>
<body>
<h1>ASP.NET MVC</h1>
<p>これはASP.NET MVCのサンプルコードです。</p>
</body>
</html>
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
}
-
- .aspx
-
- .cshtml
フォルダ構成
-
- App_Data
- App_Code
- Bin
- Content
- Scripts
-
- Controllers
- Models
- Views
プロジェクトファイル
-
- .sln
- .csproj
-
- .Web.config
デバッグ方法
-
- IIS Express
- Cassini
-
- IIS
- Visual Studio Development Server
-
- Web Forms
- ASP.NET Core
asp.net visual-studio vs-web-site-project