When using WebHostBuilder
in a Main
entry-point, how can I specify the port it binds to?
By default it uses 5000.
Note that this question is specific to the new ASP.NET Core API (currently in 1.0.0-RC2).
In ASP.NET Core 3.1, there are 4 main ways to specify a custom port:
--urls=[url]
:dotnet run --urls=http://localhost:5001/
appsettings.json
, by adding a Urls
node:{
"Urls": "http://localhost:5001"
}
ASPNETCORE_URLS=http://localhost:5001/
.UseUrls()
, if you prefer doing it programmatically: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/");
});
}
Or, if you're still using the web host builder instead of the generic host builder:
public class Program
{
public static void Main(string[] args) =>
new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseUrls("http://localhost:5001/")
.Build()
.Run();
}