NET问答: 如何给 ASP.NET Core 配置指定端口 ?

咨询区

  • Drew Noakes

我是 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 参数中自动指定。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值