質問: ASP.NETのプロジェクトを作成すると「launchSettings.json」というファイルが作成され、ここで指定されたポートでアプリケーションが実行されますが、 **「iisSettings/iisExpress/applicationUrl, sslPort」と「profiles/{プロジェクト名}/applicationUrl」の2通りURLが指定されています。 これらのURLの違いは何でしょうか?** 推測では以下のような感じなのかなと思ったのですが正しいでしょうか? ・アプリケーション本体は「profiles/{プロジェクト名}/applicationUrl」で待ち受けている ・「iisSettings/iisExpress/sslPort」で指定されたポートでアクセスするとSSLによる通信ができる また、「iisSettings/iisExpress/applicationUrl」で指定されているポート番号は何を表しているのでしょうか? 作成したプロジェクトでは以下のようになっており、いずれにもアクセスできるようになっておりました ・iisSettings/iisExpress/applicationUrl: **** ・iisSettings/iisExpress/sslPort: 443** ・profiles/{プロジェクト名}/applicationUrl: (ERR_CERT_AUTHORITY_INVALIDの警告が表示される) 使用しているフレームワークは「.NET Standard 2.1」になります。 WEB初学者のため必要な情報が抜けているかも知れませんのでその場合はご指摘ください。 よろしくお願いします。
回答: > > 「iisSettings/iisExpress/applicationUrl, sslPort」と「profiles/{プロジェクト名}/applicationUrl」の2通りURLが指定されています。 > > これらのURLの違いは何でしょうか? > > > ASP.NET Core の開発用 WEBサーバーの 主要な2つのアプリ `Kestrel` : (ASP.NET Core のプロジェクト テンプレートに既定で含まれる Web サーバーです。) コマンドプロンプトで `dotnet run` で実行したり `Visual Studio Code` から実行する場合 と `IISExpress` : Visual Studio から デバッグ実行するときは こちらが良く使われます。 の2つのそれぞれで使う 設定になります。 ASP.NET Core は Windows や Linux の いろいろな ホストサーバー上で動作する事ができます。 ASP.NET Core のホストと展開 ASP.NET Core の 開発でよく使う、主要な2つの WEB サーバーの設定となります。 > > いずれにもアクセスできるようになっておりました > > > `IISExpress` も `Kestrel` も両方とも立ち上がっているからなんでしょう。 `IISExpress` は タスクバーの中に `Kestrel` は タスクマネージャーの詳細の中の dotnet.exe プロセスを を終了させたら そのポートの WEBサーバーにはアクセスできなくなります。