ASP.NET開発環境構築|KestrelサーバーでASP.NETを実行する方法
生徒
「ASP.NETを動かすときに、Kestrelサーバーっていう名前を聞いたんですけど、これは何なんですか?」
先生
「Kestrel(ケストレル)は、ASP.NET Coreに標準で組み込まれているWebサーバーです。インストール後すぐに使えるので、とても便利なんですよ。」
生徒
「IIS Expressとは違うんですか?」
先生
「IIS ExpressはVisual Studioに付属する開発用サーバーですが、KestrelはASP.NET Coreに最初から備わっている軽量で高速なサーバーなんです。」
1. Kestrelサーバーとは?
Kestrelサーバーは、ASP.NET Coreが動作するための組み込み型Webサーバーです。正式には「クロスプラットフォームWebサーバー」で、WindowsだけでなくMacやLinuxでも同じように利用できます。
「サーバー」というと大きなコンピューターを想像するかもしれませんが、ここで言うサーバーは「Webアプリを動かすプログラム」のことです。ASP.NETのプロジェクトを作ると自動的にKestrelが用意されるので、特別な設定をしなくてもすぐにブラウザで確認できるのが特徴です。
2. Kestrelサーバーを使うメリット
Kestrelサーバーを使うと、ASP.NETの学習や開発を効率的に進められます。主なメリットは次の通りです。
- ASP.NET Coreプロジェクトを作成すれば自動的に利用可能
- Windows・Mac・Linuxなど複数の環境で同じ動作が可能
- 高速に動作し、開発用にも本番用にも使える
- 余計な設定が不要で、初心者でも扱いやすい
特に初心者にとって、インストール直後から動かせる点が安心です。
3. KestrelサーバーでASP.NETを実行する手順
では実際にKestrelを使ってASP.NETプロジェクトを動かす流れを紹介します。
- ASP.NET Coreプロジェクトを作成する
コマンドラインで以下を入力します。 - プロジェクトのフォルダに移動する
- Kestrelサーバーを起動する
次のコマンドを実行します。
dotnet new webapp -o MyKestrelApp
cd MyKestrelApp
dotnet run
するとコンソールに以下のようなメッセージが表示されます。
Now listening on: http://localhost:5000
Now listening on: https://localhost:7000
ブラウザで「http://localhost:5000」にアクセスすると、ASP.NETアプリが実際に動作しているのを確認できます。
4. 簡単なC#コードを試してみよう
Kestrelサーバーを使えば、ASP.NET内でC#の処理も動かせます。例えば以下のような条件分岐を加えてみましょう。
int score = 90;
if (score >= 80)
{
Console.WriteLine("合格です!");
}
else
{
Console.WriteLine("もう少し頑張りましょう。");
}
実行すると、コンソールや出力画面に次のように表示されます。
合格です!
このように、Kestrelを使えばC#コードの動作確認も簡単にできます。
5. よくある質問
KestrelとIIS Expressはどちらを使えばいいの?
IIS ExpressはVisual Studioに統合されていて手軽ですが、KestrelはASP.NET Coreに標準で含まれているため、MacやLinuxでも同じように動かせます。環境や目的に応じて使い分けると良いでしょう。
インターネットに接続していなくても動く?
はい、動きます。Kestrelはローカル環境専用でも利用できるので、ネットワーク接続がなくてもブラウザで確認可能です。
ポート番号は変更できる?
可能です。appsettings.jsonやコマンドライン引数を使って「http://localhost:5001」など自由に設定できます。
6. Kestrelサーバーを使うときのポイント
Kestrelを利用する際に初心者が気をつけておきたいポイントを整理します。
- 「dotnet run」で自動的にKestrelが起動する
- ブラウザの「localhost:ポート番号」にアクセスすると表示できる
- 停止するときはコマンドラインで「Ctrl + C」を押す
- 開発と本番で同じ仕組みを利用できるので学習効率が良い
これを理解すれば、ASP.NET Coreを学ぶ際の環境準備がスムーズになります。