来源: NET问答: 如何给 ASP.NET Core 配置指定端口 ?-CSDN博客
我是 ASP.NET Core 方面是新人,我发现程序默认的端口是 5000,因为要正式发布,所以希望把程序的端口改成 80,请问我该如何配置自定义端口呢 ?
回答区
- Kévin Chalet:
在 ASP.NET Core 3.1
中,我总结了下,大概有 4 种方式可以修改默认端口。
- 使用命令行模式,也就是在启动的时候通过
--urls
去指定。
-
-
dotnet run –urls=http://localhost:5001/
-
- 在
appsettings.json
中去指定,添加一个Urls
节点即可。
-
-
{
-
“Urls”: “http://localhost:5001”
-
}
-
- 使用
环境变量
方式。
-
-
ASPNETCORE_URLS=http://localhost:5001/
-
- 使用
UseUrls()
,如果你喜欢硬编码或者想把 http 隐藏在内存中。
-
-
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/”);
-
});
-
}
-
如果你的项目中使用的是原始的 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();
-
}
-
点评区
没想到在 ASP.NET Core
中配置一个自定义端口,竟然有 4 种方法,不过小编喜欢用第一种方式,这样就方便我用 docker 自动化部署时在 command 参数中自动指定。