1. ホーム
  2. .net

[解決済み】ASP.NET Coreアプリケーションがホストされているポートを指定する方法は?

2022-03-28 18:57:48

質問

を使用する場合 WebHostBuilder の中に Main エントリポイントで、バインドするポートを指定するにはどうしたらよいですか?

デフォルトでは5000を使用します。

なお、この質問は新しいASP.NET Core API(現在1.0.0-RC2)に特化したものです。

解決方法を教えてください。

ASP.NET Core 3.1では、カスタムポートの指定方法は主に4つあります。

  • コマンドライン引数を使用する場合、.NETアプリケーションの起動時に --urls=[url] :
dotnet run --urls=http://localhost:5001/

  • 使用方法 appsettings.json を追加することで Urls ノードがあります。
{
  "Urls": "http://localhost:5001"
}

  • 環境変数を使用し ASPNETCORE_URLS=http://localhost:5001/ .
  • 使用方法 UseUrls() もし、プログラム的に行うのが好きなら
public static class Program
{
    public static void Main(string[] args) =>
        CreateHostBuilder(args).Build().Run();

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(builder =>
            {
                builder.UseStartup<Startup>();
                builder.UseUrls("http://localhost:5001/");
            });
}

あるいは、汎用ホストビルダーではなく、まだウェブホストビルダーを使用している場合。

public class Program
{
    public static void Main(string[] args) =>
        new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .UseUrls("http://localhost:5001/")
            .Build()
            .Run();
}