How to change the default port in asp.net Core 3

ja73 picture ja73 · Nov 18, 2019 · Viewed 10k times · Source

when I am in debug, to change the default port, I modify the launchSettings.json file, and change the port

"WebApplication1": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "weatherforecast",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "https://*:8081;http://*:8080"
    }

but if I publish the application in a folder (selfHost) and launch the executable, it always listens on port 5000 Someone knows how to change the default port in production. I tried changing it in the program.cs with UseUrls but not working

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureServices((hostContext, services) =>
                {
                    services.AddHostedService<Worker>();
                }).UseWindowsService()
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>()
                    .UseUrls("http://*:8080","https://*:8081");
                })
            .UseSerilog();

Answer

ja73 picture ja73 · Nov 18, 2019

I finally got it
before

   webBuilder.UseStartup<Startup>();

add

 webBuilder.UseUrls("https://*:8081", "http://*:8080");

this is the code

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureServices((hostContext, services) =>
                {
                    services.AddHostedService<Worker>();
                }).UseWindowsService()
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseUrls("https://*:8081", "http://*:8080");
                    webBuilder.UseStartup<Startup>();
                })
            .UseSerilog();
}

I hope it can be useful to someone else. thank you