情報応用演習Ⅰ(2024)

【T1c】ASP.NET Core MVC(3/6)

プロジェクトタイプASP.NET Core (空)
プロジェクト名T1c
ソリューション名PIT1
ターゲットフレームワーク.NET 8.0(長期的なサポート)
最上位レベルのステートメントを使用しない使用する(チェックオフ)
注意
  • 本ページの作業内容は 前のページまでの続き になっていることに注意せよ.
    • 先に前のページまでをすべて読み,指示されている作業を済ませてから本ページを読むこと.
    • プロジェクトの作成作業についてはプロジェクトの作成を参照せよ.

1c-3. ASP.NET Core MVC の構成方法

ASP.NET Core MVC の構成をするには,やはりProgram.csで設定を行う必要がある. Program.csを_に示すように書き換えよう.

MVCを使用するための設定
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
var builder = WebApplication.CreateBuilder(args);

builder.Services.AddControllersWithViews();

var app = builder.Build();

app.UseRouting();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller}/{action}/{id?}"
    );

app.Run();

ASP.NET Core MVCは,Model-View-Controller(もでる・びゅー・こんとろーらー)と呼ばれる設計パターンを応用したものである. これについて簡単に説明しておこう.この設計パターンではアプリケーションを以下の3つの部品に分けて構成する.

  • Model
    • データをつかさどる部品.Modelはそのほかの部品のことを感知しない.
    • ウェブアプリでは典型的にはデータベースに格納されるデータを表す.
  • View
    • 表示をつかさどる部品.Contorllerの指示に応じて表示を作成する.
  • Controller
    • 主にユーザーからの入力などをつかさどる処理の中核となる部品.

_はこれらの部品の関係を表している.

Model-View-Controller

上述の説明の通りこの構成ではコントローラーがアプリケーション固有の処理を担う中核となる. ASP.NET Core MVC の構成ではコントローラーはC#の通常のクラスである(ただし一定の規則がある). アプリケーションは1つないし複数のコントローラーを持つことができ,これらを連携させて必要なすべての処理を実現することになる.

11~13行目ではURLとコントローラーとそのコントローラーが持つアクション(≒クラスとそのメソッド)をどのように結びつけるか,すなわちURLルーティングを設定している. ここではコントローラー名/メソッド名となるように設定している.加えてオプションとしてidというパラメータをつけられるようにしている. 例えば,HogeコントローラーのDoSomethingというアクションであればhttp://localhost:ポート番号/Hoge/DoSomethingというURLに結び付けられる. これは ASP.NET Core MVC の構成では一般的なルーティング方法である.

このことをC#コードの側面から見ると,これはHogeControllerクラスのDoSomething()メソッドの呼び出しに対応する.つまりhttp://localhost:ポート番号/Hoge/DoSomethingというURLにアクセスされるつど,このクラスのこのメソッドが呼び出されるということである._はこの関係を図示したものである.次節では,このURLとクラス/メソッドの関係ついてより詳しく説明する.

URLルーティング
Last updated on 2024-04-12
Published on 2024-04-12

Powered by Hugo. Theme by TechDoc. Designed by Thingsym.