ASP.NET Core アプリケーションがホストされているポートを指定するにはどうすればいいですか? 質問する

ASP.NET Core アプリケーションがホストされているポートを指定するにはどうすればいいですか? 質問する

WebHostBuilderエントリポイントで使用する場合Main、バインドするポートをどのように指定できますか?

デフォルトでは 5000 が使用されます。

この質問は新しい ASP.NET Core API (現在は 1.0.0-RC2) に固有のものであることに注意してください。

ベストアンサー1

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

  • コマンドライン引数を使用するには、.NET アプリケーションを次のように起動します--urls=[url]

    dotnet run --urls=http://localhost:5001/
    
  • を使用しappsettings.jsonUrlsノードを追加します。

    {
       "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/");
                 });
    }
    

または、汎用ホスト ビルダーではなく、Web ホスト ビルダーをまだ使用している場合:

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

おすすめ記事