おしごとで勘違いしたので備忘録。
ASP.NET CoreをIISでホストする時、ASP.NET Core Moduleをサーバにインストールする必要があります。
いろいろ調べていてIISにインストールしたModuleをIISの [機能ビュー] > [ハンドラーマッピング] からモジュールマップを追加する必要があるのかと勘違いしました。
ASP.NET Coreのハンドラーモジュールはサイトをデプロイした際にweb.configを読込み、自動的に設定してくれるため、手作業でIIS上でハンドラーマッピングの追加をする必要はないです。
Visual StudioにてASP.NET Coreアプリを発行した際に生成されるweb.configに以下の設定があれば自動設定されます。
<system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" /> </system.webServer>