咨詢區(qū)
我是 ASP.NET Core 方面是新人,我發(fā)現(xiàn)程序默認(rèn)的端口是 5000,因?yàn)橐桨l(fā)布,所以希望把程序的端口改成 80,請(qǐng)問(wèn)我該如何配置自定義端口呢 ?
回答區(qū)
在 ASP.NET Core 3.1 中,我總結(jié)了下,大概有 4 種方式可以修改默認(rèn)端口。
- 使用命令行模式,也就是在啟動(dòng)的時(shí)候通過(guò)
--urls 去指定。
dotnet run --urls=http://localhost:5001/
- 在
appsettings.json 中去指定,添加一個(gè) Urls 節(jié)點(diǎn)即可。
{
"Urls": "http://localhost:5001"
}
ASPNETCORE_URLS=http://localhost:5001/
- 使用
UseUrls(),如果你喜歡硬編碼或者想把 http 隱藏在內(nèi)存中。
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/");
});
}
如果你的項(xiàng)目中使用的是原始的 WebHostBuilder 的話,參考下面代碼去配置。
public class Program
{
public static void Main(string[] args) =>
new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseUrls("http://localhost:5001/")
.Build()
.Run();
}
點(diǎn)評(píng)區(qū)
沒(méi)想到在 ASP.NET Core 中配置一個(gè)自定義端口,竟然有 4 種方法,不過(guò)小編喜歡用第一種方式,這樣就方便我用 docker 自動(dòng)化部署時(shí)在 command 參數(shù)中自動(dòng)指定。