情報応用演習Ⅰ(2024)

【T1a】ASP.NET Core の基本(3/4)

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

1a-3. プロジェクトを構成するファイルについての理解

プロジェクトに含まれているファイルを確認しておこう.このタイプのプロジェクトには以下のファイルが含まれている.

  • Program.cs ... プログラム本体
  • appsettings.json ... アプリケーションの汎用設定ファイル

Program.csはほかのアプリと同じくプログラムのエントリーポイントとなるコードファイルであるが, ASP.NET Core のプロジェクトでは,このファイルは主に設定ファイルとして機能している. これまでに扱ってきたコンソールアプリなどでは,Program.csはアプリケーションロジック (=アプリケーション固有の処理内容)を書く場所であったが,ASP.NET Core では様相が異なることを覚えておこう.

このProgram.csがつかさどる設定内容は,アプリケーションの初期化方法とHTTPリクエストの処理の仕方に関する設定である. Program.csを開いて中身を見てみよう._のようになっているはずである. なおコメントは著者によるものである.

Program.csの内容
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
// ① サービスの初期化
var builder = WebApplication.CreateBuilder(args);

//// ここでは追加の設定なし

// ② リクエストパイプラインの設定
var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run(); // アプリケーションの実行

Program.csは主に二つの部分に分かれている.

  • サービスの初期化
    • _builder.Services.~に対する操作を行う部分.
    • これらの行では,アプリケーションの初期化に必要なリソースの準備に関する設定を行う.
  • リクエストパイプラインの設定
    • _app.~に対する操作を行っている部分.
    • これらの行では,クライアント(≒ウェブブラウザ)から来たリクエストをどのように処理するかの設定を行う.

①に関しては,今回の空のプロジェクトでは追加の設定はないので何も書かれていない.②に関しては,9行目に動作サンプルとして,app.MapGet("/", () => "Hello World!")と書かれているが,これは/(サイトのルート)へのリクエストに対して「"Hello World!"という文字列を返す」という処理の仕方を定義している.これは通常用いる方法ではないがここでは単にサンプルとして書かれているだけなのであまり気にする必要はない.

Last updated on 2024-04-12
Published on 2024-04-12

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